最近、私は常にデフォルトでInnoDBを使用しています。特に、MyISAMが完全なテーブルロックに悩まされている、書き込みが集中するテーブルではそうです。これがポイントの比較です。
MyISAMを使用する理由:
- テーブルは、選択が重い負荷に対して非常に高速です
- テーブルレベルのロックは、書き込みが集中するマルチユーザー環境のスケーラビリティを制限します。
- 最小のディスクスペース消費
- フルテキストインデックス
- マージおよび圧縮されたテーブル。
InnoDBを使用する理由:
- ACIDトランザクション
- 行レベルのロック
- 一貫した読み取り–優れた読み取り/書き込みの同時実行性に到達できます。
- 主キークラスタリング–場合によっては優れたパフォーマンスが得られます。
- 外部キーのサポート。
- インデックスページとデータページの両方をキャッシュできます。
- 自動クラッシュリカバリ– MySQLのシャットダウンがクリーンでなかった場合でもInnoDBテーブルは–一貫した状態にリカバリします–MyISAMのようなチェック/修復は必要ありません。
- すべての更新はInnoDBのトランザクションエンジンを通過する必要がありますが、これは多くの場合、非トランザクションストレージエンジンと比較してパフォーマンスが低下します。
上記は