MySQL存储引擎【InnoDB、MyISAM、Memory】_MySQL
数据库,MySQL这样存在多存储引擎的数据库软件,清楚常见的存储引擎的区别,使用合适的存储引擎,使得项目跑的更顺畅,有时候对于一个项目,甚至比项目本身都重要。这篇文章,旨在浅谈常见的三种存储引擎的区别,优缺点。是学习也是分享。
1:查看MySQL所支持的存储引擎:
1.1 show engines;
1.2 show variables like "have%';
这样,我们清楚了MySQL所支持的存储引擎都有哪些。
下面,分析一下几个常见的存储引擎。InnoDB,MYISAM和Memory。
2:InnoDB存储引擎
2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全
2.2:关于InnoDB的auto_increment列:
2.2.1:InnoDB支持自动增长列,此列不能为空,且值必须唯一
2.2.2:此列必须为主键。插入时,不指定值,默认是自增都的值。指定0或者NULL时,也 是自增后的值。指定合法且不存在的值,则此后的自动从该值开始
2.3:InnoDB中的Foreign Key:
InnoDB支持外键。外键所在表通常称为子表。所依赖表称为父表。且父表中,被子表关联的字段必须为父表的主键。
(外键:可以简单的理解为:当对父表的数据进行更新,删除,添加时,子表的数据也会随之变化。例子很多,此处不举例)
2.4:InnoDB的存储引擎及其优缺点:
InnoDB存储引擎的存储格式有三个文件:
.frm表结构文件,此文件存放表创建时的字段定义等信息。
表的数据文件,存放在innodb_data_home_dir目录下,
表的索引文件,存放在innodb_data_file_path目录下
InnoDB存储引擎具有良好的ACID特性。
InnoDB的缺点:读写效率相对MYISAM比较差。占用的磁盘空间比较大。
2.5:InnoDB的理想使用场合:
高并发,更新操作比较多的表。需要使用事务的表。对自动灾难恢复有要求的表。
3:MYISAM存储引擎:
3.1:MYISAM存储引擎表的存储有三个文件:
.frm文件,存储表的结构
.myd文件,存储表的数据
.myi文件,存储表的索引
3.2:MYISAM存储引擎的存储格式
3.2.1:静态型
表的所有列都是静态的(定长的)。这种情况下,维护和访问预定义格式存储的数据需要的开销很低。但是,需要的空间会更多,原因是,数据在存储的时候,使 用每个列的最大空间来存储,有浪费的空间。当然,磁盘这个都不是问题。
3.2.2:动态型
指标的列中有动态型的列(不定长的)。优点是:使用空间少。缺点是:更新数据时,需要移动数据,产生内部碎片的同时,也降低了维护和访问的效率。
对于这个问题,我们可以:(1)尽量的使用定长字段(2)使用optimize table语句,整理表中的碎片
3.2.3:压缩型:
针对应用程序的声明周期中,只读的数据表,我们可以通过:myisampack工具转化为MYISAM压缩表,以减少使用的磁盘空间
3.4:MYISAM存储引擎的优缺点:
优点:占用空间小,处理速度快(相对InnoDB来说)
确定:不支持事务的完整性和并发性
4:Memory存储引擎
4.1:Memory存储引擎的文件存储形式
Memory存储引擎也会再磁盘上形成一个 .frm的表结构文件,只是表的数据件并不以文件的形式存放在磁盘上。鉴于其数据存放在内存里,因此,访问速度更快。但需 要考虑的是:内存上数据的持久性。
4.2:Memory存储引擎的索引类型
默认的是哈希索引,也支持BTree索引
4.3:Memory存储引擎的数据存储周期
数据存放在内存上,一旦服务器关机,数据将不再存在
4.4:Memory存储引擎的优缺点:
Memory存储引擎不支持变长表列
MySQL4.1.0之前,不支持auto_increment列
4.5:Memory存储引擎的使用场合
速度要求快的,临时数据
丢失以后,对项目整体没有或者负面影响不大的时候。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











10月8日のニュースによると、米国の自動車市場は水面下で変化を遂げており、これまで親しまれてきた6気筒や8気筒エンジンが徐々にその優位性を失い、3気筒エンジンが台頭しつつあるという。 10月8日のニュースは、米国の自動車市場が水面下で変化を遂げていることを示した。かつて愛された6気筒や8気筒エンジンは徐々にその優位性を失い、3気筒エンジンが台頭し始めているが、アメリカ人の多くの心の中には大排気量モデルが大好きで「アメリカンビッグV8」というイメージがある。常にアメリカ車の代名詞であり続けています。しかし、最近海外メディアが発表したデータによると、米国の自動車市場の状況は大きく変化しており、水面下での争いは激化している。 2019 年以前は、米国が

リアルタイム グローバル イルミネーション (リアルタイム GI) は、常にコンピュータ グラフィックスの聖杯でした。長年にわたり、業界はこの問題を解決するためにさまざまな方法を提案してきました。一般的な方法には、静的ジオメトリ、大まかなシーン表現、または大まかなプローブの追跡などの特定の仮定を利用して問題領域を制約すること、および 2 つの間の照明を補間することが含まれます。 Unreal Engine のグローバル イルミネーションおよび反射システム Lumen テクノロジーは、Krzysztof Narkowicz と Daniel Wright によって共同設立されました。目標は、均一な照明と焼き付けたような照明品質を実現できる、以前のものとは異なるソリューションを構築することでした。最近、SIGGRAPH 2022 でクシシュトフ・ナルコ氏が

『サイバーパンク2077』で黄学者が作った知性あるNPCはすでに中国語を話せる? Qubit を実際に体験して、NPC が中国語と英語で流暢に会話し、自然な表情と動き、口の形を一致させているのを目の当たりにする...目の前にスクリーンがなかったら、本当にその場にいるような気分になるでしょう。今年の CES 展示会で、Nvidia はインテリジェント エンジン Avatar Cloud Engine (ACE) を使用してゲームの NPC を「生きた」ものにし、大きな衝撃を与えました。 △CESに展示されるインテリジェントなNPCにはACEが採用されており、事前にスクリプトを用意することなく、ゲーム内のキャラクターが生き生きとした表情や体の動きを見せながら、プレイヤーとリアルな音声会話を行うことができます。デビュー当時はUbisoft、Tencent、NetEase、MiHoYoなどが存在しました。

Redmiは本日、新しいRedmi GPro 2024が3月4日に正式にリリースされることを正式に発表しました。つまり、来週にはこのエキサイティングな新製品がリリースされることになります。 RedmiGPro2024は、eスポーツのフラッグシップとして完全デビューし、携帯電話業界の能力をノートブックビジネスに深く統合し、210Wのスーパーパフォーマンスリリースを提示し、Redmiパフォーマンスが新たな最高値に達します。 i9-14900HX プロセッサーと RTX4060 グラフィックス カードを搭載し、e スポーツとクリエーションを完璧に組み合わせ、二重の進化を実現します。この観点から見ると、この新製品の性能は再び向上しており、実際の効果は興味深いものです。公式ウォームアップでは、新しいRedmi G Pro 2024には暴力的なエンジンのPCバージョンが搭載されていると述べられました。携帯電話技術の強化、3 つの主要な要因が牽引

ChatGPT が誕生した日から、Microsoft は幸運を感じているはずです。数年前に投資した10億ドルが無駄ではなかったのは嬉しいことですが。さらに重要なのは、ChatGPT は敵ではなく友軍です。他の大手テクノロジー企業、特にマイクロソフトの古くからのライバルであるグーグルの雰囲気は非常に複雑だ。 Googleのベテラン社員であり、Gmailの開発者の一人であるPaul Buchheit氏は最近、検索エンジンがイエローページの電話帳を完全に消し去ったのと同じように、ChatGPTのような人工知能チャットボットがGoogleを破壊するだろうと語った。時期としては、ほんの1~2年程度です。ブッフハイト氏は水曜日、「Googleが完全に混乱するまでには1~2年しかかからないかもしれない。AIはたとえその後であっても検索エンジンの結果ページを一掃するだろう」とツイートした。

SAS が Oracle データベースに接続するときにエンジンの問題を解決するには、特定のコード例が必要です。SAS ソフトウェアをデータ分析に使用する場合、多くの場合、分析と処理のためのデータを取得するためにデータベースに接続する必要があります。その中でも、Oracle データベースへの接続は比較的一般的な操作です。ただし、Oracle データベースに接続するときにエンジンの問題が発生し、接続が失敗したり、正常に動作しなくなる場合があります。この記事では、SAS ソフトウェアで Oracle データベースに接続する際のエンジンの問題を解決する方法と、具体的なコードを紹介します。

JavaScript は、Web 開発やフロントエンド テクノロジで広く使用されている、一般的に使用されるプログラミング言語です。 JavaScript を学習する過程において、その読み取りメカニズムを理解することは非常に重要な部分です。 JavaScript の読み取りの仕組みには、変数宣言、スコープチェーン、クロージャなどの概念があり、これらの重要なポイントを具体的なコード例で説明することで、JavaScript の読み取りの仕組みへの理解が深まります。変数宣言 JavaScript では、変数宣言に var、l を使用できます。

インターネット技術の継続的な発展に伴い、Web テンプレート エンジンは Web サイト開発に不可欠な部分になりました。 PHP Web ページ テンプレート エンジンは、一般的に使用される Web ページ テンプレート エンジンの 1 つです。この記事では、PHP Web テンプレート エンジンの使用方法とよくある質問への回答を紹介します。 1. PHP Web テンプレート エンジンとは何ですか? PHP Web テンプレート エンジンは、Web デザインをビジネス ロジックから分離するテクノロジーです。テンプレート エンジンを使用すると、Web ページの表示と論理処理を分離できるため、コードがクリーンで明確になり、保守が容易になります。 PHP Webテンプレートエンジンとオリジナル
