MySQLから提供される様々なストレージエンジンは異なるユースケースを想定してデザインされています。 プラグ可能ストレージアーキテクチャを効果的に利用する為には、様々なストレージエンジンの利点と欠点を知っておく事が役立ちます。次のテーブルは、MySQLが提供するいくつかのストレージエンジンの概要を表しています。
特徴 | MyISAM | メモリ | InnoDB | アーカイブ | NDB |
ストレージリミット | 256TB | Yes | 64TB | No | 384EB[4] |
トランザクション | No | No | Yes | No | Yes |
ロック精度 | テーブル | テーブル | 行 | 行 | 行 |
MVCC (スナップショット読み込み) | No | No | Yes | Yes | No |
地球空間サポート | Yes | No | Yes[1] | Yes[1] | Yes[1] |
Bツリーインデックス | Yes | Yes | Yes | No | Yes |
ハッシュインデックス | No | Yes | No | No | Yes |
前文検索インデックス | Yes | No | No | No | No |
クラスタ化されたインデックス | No | No | Yes | No | No |
データキャッシュ | No | N/A | Yes | No | Yes |
インデックスキャッシュ | Yes | N/A | Yes | No | Yes |
圧縮データ | Yes | No | No | Yes | No |
暗号化されたデータ[2] | Yes | Yes | Yes | Yes | Yes |
クラスタデータベースサポート | No | No | No | No | Yes |
レプリケーションサポート[3] | Yes | Yes | Yes | Yes | Yes |
外字サポート | No | No | Yes | No | No |
バックアップ / ポイントインタイムリカバリ[3] | Yes | Yes | Yes | Yes | Yes |
クエリキャッシュサポート | Yes | Yes | Yes | Yes | Yes |
データディレクトリの更新統計 | Yes | Yes | Yes | Yes | Yes |
[1] ストレージエンジンは空間データタイプはサポートしますが、それらをインデックスはしません。
[2] ストレージエンジンの中よりも、サーバーの中で実行されます。 (暗号化機能を利用)
[3] ストレージエンジンの中よりも、サーバーの中で実行されます。
[4] EB = exabyte (1024 * 1024 terabyte)