概要
- mysqlのDBエンジンとは、何?
- 通常、何を使用する?
を調査しました。
DBエンジン
- DBエンジン は、各種ありますが、通常(デフォルト)は InnoDB が使用されます。
InnoDB
通常(デフォルト)、使用されるだけあって機能が揃っています。InnoDBの利点と欠点は以下の通りです
- 利点…トランザクションをサポート、外部キー制約が装備されている、クラッシュ時のリカバリに対応、列レベルでロックを実施
- 欠点…フルテキスト検索ができない、パフォーマンスが悪い
MyISAM
InnoDB
とよく比較されますが、以下のような特徴があります。
- 利点…シンプル、高速に動作、フルテキスト検索に対応
- 欠点…トランザクションや外部キー制約をサポートしない、REPAIR TABLEで修正できることが多いがクラッシュ時に使えなくなる、テーブルレベルでロックをかけるという点でロックの粒度が荒い
データ整合性が求められるデータベースはInnoDBを利用、パフォーマンス重視の場合はMyISAMにしましょうということです。 データが複数、同時に検索する場合、MyISAM のテーブルロックは欠点でしょうね。よって通常は、 InnoDB にした方が無難です。
MySQLのMyISAMとInnoDBパフォーマンス比較 | Basicinc Enjoy Hacking!
MySQLにはいくつかのストレージエンジンが存在していますが、二大巨頭MyISAMとInnoDBのどちらかを大抵選択して...
テーブルごとに、phpmyadminでストレージエンジンを選択することもできます。
その他
その他にMEMORY、CSV、ARCHIV、BLACKHOLE、MERGE、FEDERATED、EXAMPLEなどがある。