マイサム
- 取引なし
- 最大 ディスク: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ストレージエンジン