1. MyISAM ストレージ エンジン
はトランザクションや外部キーをサポートしていません。利点はアクセス速度が速いことです。トランザクション整合性の要件がないアプリケーション、または主に選択と挿入を行うアプリケーションは、基本的にこのエンジンを使用してテーブルを作成できます
3 つの異なるストレージ形式、つまり、静的テーブル、動的テーブル、圧縮テーブルをサポートします
静的テーブル: テーブル内のフィールドはすべて非可変長フィールドであるため、各レコードは固定長になります。利点は、非常に高速なストレージ、キャッシュが容易、障害時の回復が容易であることですが、欠点は次のとおりです。通常、動的テーブルよりも多くのスペースを必要とします テーブルがたくさんあります (スペースは格納中に列幅の定義に従って埋められるため) ps: データをフェッチするとき、フィールドの後ろのスペースはデフォルトで削除されます。 、データ自体内のスペースも無視されます。
動的テーブル: レコードは固定長ではありません。このようなストレージの利点は、使用するスペースが比較的少ないことです。欠点: データを頻繁に更新および削除すると、断片化が発生しやすくなります。OPTIMIZE を実行する必要があります。 TABLE または myisamchk-r コマンドを定期的に実行してください。パフォーマンスの向上
圧縮テーブル: 各レコードが個別に圧縮されるため、アクセス オーバーヘッドは非常にわずかです
2. InnoDB ストレージ エンジン
このストレージ エンジンは、コミット、ロールバック、およびクラッシュ回復機能を備えたトランザクション セキュリティを提供します。ただし、MyISAM エンジンと比較すると、書き込み処理効率が悪く、データとインデックスを保持するためにより多くのディスク容量を必要とします。
InnoDB ストレージ エンジンの機能: 列の自動拡張と外部キー制約をサポート
3. メモリ ストレージ エンジン
メモリ ストレージ エンジンは既存の Create を使用します。メモリの内容からテーブルを取得します。各メモリ テーブルは実際には 1 つのディスク ファイルにのみ対応し、形式は .frm です。メモリ型テーブルは、データがメモリに保存され、デフォルトで HASH インデックスが使用されるため、アクセスが非常に高速ですが、サービスがシャットダウンされると、テーブル内のデータは失われます。
MEMORY ストレージ エンジン テーブルでは、BTREE インデックスまたは HASH インデックスの使用を選択できます。2 つの異なるタイプのインデックスには、使用範囲が異なります。
ハッシュ インデックスの利点:
ハッシュ インデックスの理由構造の特殊性により検索効率が非常に高い インデックス検索は一度に検索できる ルートノードからブランチノード、ページノードまで複数回のIOアクセスが必要なB-Treeインデックスとは異なり、ハッシュ インデックスのクエリ効率は B-Tree インデックスよりもはるかに高くなります。
ハッシュ インデックスの欠点: ハッシュ アルゴリズムは等しい値の計算に基づいているため、不正確な検索も明らかです。そのため、「like」などの範囲検索のハッシュ インデックスは無効であり、サポートされていません。
# #Memory タイプのストレージ エンジンは、主に内容が頻繁に変更されないコード テーブル、または統計演算の中間結果テーブルとして使用され、中間結果の効率的な分析を容易にし、最終的な統計結果を取得します。ストレージ エンジンがメモリであるテーブルを更新する場合は注意してください。データは実際にはディスクに書き込まれないため、次回のサービスの再起動後に変更されたデータを取得する方法を検討する必要があります。4. マージ ストレージ エンジン
マージ ストレージ エンジンは、一連の MyISAM テーブルの組み合わせです。これらの MyISAM テーブルは、同じ構造を持つ必要があります。マージ テーブル自体は、データがありません。マージ タイプのテーブルでは、クエリ、更新、削除の操作を実行できます。これらの操作は実際には内部 MyISAM テーブルで実行されます。 推奨チュートリアル: 「MySQL チュートリアル 」
以上がMySQL の 4 つのエンジンの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。