マイサム
- 取引なし
 - 最大 ディスク:256Tb
 - ロックテーブル
 - 全文検索
 - クラスターでの作業:いいえ
 - 整合性の維持、外部キー:なし
 - 複製:はい
 - 最大 インデックス:64
 - 最大 エントリー:2 ^ 32
 - 最大 キーの長さ:1000バイト
 - キーは最大(最大)のディスク領域を占有します:(key_length + 4)/0.67
 - サーバーの「落下」に敏感なため、復元が困難です
 - 「穴」(ギャップ)がない場合-インサートは競合しません(ブロッキングは発生しません)
 - 異なるデバイスにデータとインデックスファイルを保存することができます
 - 各列は独自のエンコーディングを持つことができます
 - 最大 VARCHARとCHARの長さの合計:64k
 
静的(固定長)テーブル形式
- VARCHAR、VARBINARY、BLOB、TEXT列がない場合は自動的に
 - より速く、より安全に(より安定に)、より良いキャッシュに、より多くのディスクスペースを必要とします
 - 強制された場合、VARCHARとCHARはスペースで埋められ、VARBINARYはゼロです
 
動的長テーブル形式
- 最大4行の長さのすべての行-VARCHAR
 - 空行とゼロ(0)はディスク領域を占有しません(NULLはゼロではありません)
 - 更新中にレコード(行)が自動的に断片化されます(最適化するにはOPTIMIZE TABLEを実行する必要があります)
 - 障害からの回復が困難
 
圧縮された
- myisampackにより作成
 - 読み取り専用
 - 非常に遅いメディアに推奨
 - 固定長と動的長の両方にすることができます
 - アーカイブテーブルエンジンに目を向ける
 
ヒント:
- 彼らは、MyISAMテーブルは遅かれ早かれ「ブレイク」するはずだと言うので、準備してください;)
 - 記録中にサーバーを殺さないでください
 - 複数のサーバーが同時にテーブルを変更しないでください
 - ユーティリティとサーバーを同時に使用してテーブルを変更しないでください
 
推奨事項:リファレンスブック
Innodb
- 最大 ディスク:64Tb
 - 完全なトランザクションサポート(4つの分離レベル)
 - 書き込みロック(テーブルではなく)、2種類のロック(SHARED、EXCLUSIVE)
 - フルテキストインデックス:いいえ
 - トランザクションのために安全
 - インデックスは「典型的なクエリ」のためにクラスタ化されます
 - 整合性サポート(外部キー)
 - ファイルサイズが制限されているOSで使用可能
 - 最適化のための多くの設定
 - FSをバイパスするテーブルにRawディスクを使用できます
 - AUTOCOMMITはデフォルトで有効になっています(SET autocommit = 1)
 - デッドロック(デッドロック)を自動的に検出します
 
エンジンは、特に大きなテーブル用に設計されました。 開発者は、InnoDBがすべての既知のディスクベースのデータベースエンジンの中で最速であると主張しています(複数のテストでこれが確認されています)
ヒント:
- SELECT(*)FROMテーブルはMyISAMよりはるかに遅い-必要に応じてトリガーを作成する
 - バックアップ単純なファイルのコピーは不可能
 - mysqldumpが遅い、バックアップにInnodDb Hot Backupを使用する
 - インデックスに注意してください。クエリ用のインデックスがない場合、InnoDBの利点は失われます。
 
推奨事項:高負荷のサイト、金融取引
マージ
- 同一のテーブルを1つに結合するために使用されます。
 - テーブルの構造は同じである必要があります
 - 列の順序は一致する必要があります
 - DROPはソーステーブルを削除しません
 - テーブルは別のデータベースにある可能性があります
 - エイリアスに使用できます(1つのテーブルに対して)
 - FULLTEXT検索は使用できません
 - 一時テーブルと非一時テーブルを混在させないでください
 - キーの読み取りが遅い
 - REPLACEが機能しない
 - ソーステーブルの構造の変更は追跡されません(テーブルは破損します)
 
推奨事項:テーブルの「便利な」(再)編成
HEAP(メモリー)
- 取引なし
 - テーブルロック
 - 複製:はい
 - 最大 キーの長さ:500バイト
 - サーバーが停止するとすべてのデータが失われます(テーブル自体は残ります)
 - ストレージ形式:常に固定長の行
 - レコードが削除されると、メモリは解放されません(新しいレコードを挿入するために使用されます)
 
ヒント:
大きなテーブルはディスクに「スワップ」し、賞金は失われます
推奨事項:ローカルコンピューティング、時間データ
アーカイブ
- 最大 ドライブ:制限なし
 - 書き込みロック
 - DELETE、REPLACE、UPDATE、ORDER BY、BLOB型は機能しません
 - INSERTはバッファリングされ、長い遅延でマージされます
 - 非常に遅いSELECT
 
推奨事項:ロギング操作(監査、統計、カウンター)
Csv
- テーブルをCSV形式で保存します
 - 外部アプリケーションでテーブルを編集できます
 - 不十分な文書化、未解決のバグがあります
 
連邦
これは、別のサーバーへの「透過的な」接続です(複製ではありません)。 多くの制限がありますが、MySQL以外のサーバーに接続する予定です。
ブラックホール
- データは「どこにも行きません」
 - バイナリログが書き込まれます
 
推奨事項:レプリケーションの最適化(マスターサーバーはデータをディスクに書き込みません)
トレンド、MySQL 6.0
- マリア-「MyISAMの改善」
 - Falcon-Webサーバーの「InnoDbの改善」、パフォーマンスの改善
 
参照:
MySQLドキュメント、第13章ストレージエンジン
Mike PetersによるMySQLストレージエンジン