ホームページ  >  記事  >  データベース  >  mysqlのデフォルトエンジンは何ですか

mysqlのデフォルトエンジンは何ですか

青灯夜游
青灯夜游オリジナル
2022-06-14 17:15:169299ブラウズ

MySQL5.5 より前のデフォルト エンジンは「MyISAM」でしたが、MySQL5.5 以降、デフォルト エンジンは「InnoDB」です。このエンジンは ACID とトランザクションを完全にサポートし、外部キー、コミット、ロールバック、ロールフォワード操作の場合、テーブル サイズは最大 64 TB まで可能です。 MySQL では、「SHOW ENGINES;」コマンドを使用して、システムでサポートされているエンジン タイプとデフォルト エンジンを表示できます。出力結果では、DEFAULT キーワードで指定されたエンジンが現在のデフォルト ストレージ エンジンです。

mysqlのデフォルトエンジンは何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

データベース ストレージ エンジンは、データベースの基盤となるソフトウェア コンポーネントであり、データベース管理システムは、データ エンジンを使用して、データ操作の作成、クエリ、更新、削除を行います。つまり、ストレージ エンジンはテーブルのタイプを指します。

データベースのストレージ エンジンによって、テーブルがコンピュータにどのように保存されるかが決まります。ストレージ エンジンが異なれば、ストレージ メカニズム、インデックス作成手法、ロック レベル、その他の機能も異なります。また、異なるストレージ エンジンを使用して特定の機能を取得することもできます。

MySQL は、InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE など、テーブル用のさまざまなストレージ エンジンを提供します。

MySQL 5.5 より前では、ストレージ エンジンを明示的に指定せずにテーブルを作成した場合、MyISAM がデフォルトのストレージ エンジンでした。バージョン 5.5 以降、MySQL はデフォルトのストレージ エンジンとして InnoDB を使用します。

SHOW ENGINES; ステートメントを使用すると、システムでサポートされているエンジン タイプを表示できます。結果は図に示すとおりです。

mysqlのデフォルトエンジンは何ですか

サポート列の値は、特定のエンジンが使用できるかどうかを示します。YES は使用できることを意味し、NO は使用できないことを意味し、DEFAULT はエンジンが使用できることを意味しますは現在のデフォルトのストレージ エンジンです。

現在のデフォルトのストレージ エンジンは InnoDB であることがわかります。

MyISAM エンジン

MyISAM は、以前の ISAM ストレージ エンジンを拡張します。 MyISAM テーブルは、圧縮と速度に関して最適化されています。 MyISAM テーブルは、プラットフォームとオペレーティング システム間で移植可能です。

MyISAM テーブルのサイズは 256TB に達する可能性があり、これは巨大です。さらに、MyISAM テーブルを読み取り専用テーブルに圧縮して、スペースを節約できます。 MySQL は起動時に MyISAM テーブルの破損をチェックし、エラーが発生した場合にはテーブルを修復します。 MyISAM テーブルはトランザクションに対して安全ではありません。

InnoDB エンジン

InnoDB テーブルは、ACID コンプライアンスとトランザクションを完全にサポートします。パフォーマンスの点でも最良の選択です。 InnoDB テーブルは、外部キー、コミット、ロールバック、ロールフォワード操作をサポートします。 InnoDB テーブルのサイズは最大 64 TB です。

MyISAM と同様、InnoDB テーブルは、異なるプラットフォームやオペレーティング システム間で移植可能です。必要に応じて、MySQL は起動時に InnoDB テーブルをチェックして修復します。

MERGE エンジン

MERGE テーブルは、1 つのテーブル構造と同様の機能を持つ複数の MyISAM テーブルを結合した仮想テーブルです。 MERGE ストレージ エンジンは、MRG_MyISAM エンジンとも呼ばれます。 MERGE テーブルには独自のインデックスはなく、コンポーネント テーブルのインデックスが使用されます。

MERGE テーブルを使用すると、複数のテーブルを結合するときのパフォーマンスが向上します。 MySQL では、MERGE テーブルに対して SELECT、DELETE、UPDATE、INSERT 操作のみを実行できます。 DROP TABLE が MERGE テーブルに対して MERGE ステートメントを使用する場合、指定のみが削除されます。基礎となるテーブルは影響を受けません。

メモリ エンジン

メモリ テーブルはメモリに保存され、ハッシュ インデックスを使用するため、MyISAM テーブルよりも高速です。メモリ内のテーブル データのライフ サイクルは、データベース サーバーの稼働時間によって異なります。インメモリ ストレージ エンジンは、以前は HEAP と呼ばれていました。

アーカイブ エンジン

アーカイブ ストレージ エンジンを使用すると、大量のレコード (アーカイブ用) を圧縮形式で保存し、ディスク領域を節約できます。 。アーカイブ ストレージ エンジンは、挿入時にレコードを圧縮し、読み取り時に zlib ライブラリを使用してレコードを解凍します。

アーカイブ テーブルでは、INSERT ステートメントと SELECT ステートメントのみが許可されます。 ARCHIVE テーブルはインデックスをサポートしていないため、テーブルから行を読み取るにはテーブル全体のスキャンが必要です。

CSV

CSV ストレージ エンジンは、データをカンマ区切り値 (CSV) ファイル形式で保存します。 CSV テーブルは、スプレッドシート ソフトウェアなどの非 SQL アプリケーションにデータを移行する便利な方法を提供します。

CSV テーブルは NULL データ型をサポートしていません。さらに、読み取り操作にはテーブル全体のスキャンが必要です。

FEDERATED

FEDERATED ストレージ エンジンを使用すると、クラスタリングやレプリケーション テクノロジを使用せずに、リモート MySQL サーバーからのデータを管理できます。ローカルユニオンテーブルにはデータは格納されません。ローカルフェデレーテッドテーブルからデータをクエリすると、データはリモートフェデレーテッドテーブルから自動的に抽出されます。

[関連する推奨事項: mysql ビデオ チュートリアル ]

以上がmysqlのデフォルトエンジンは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。