【MySQL】DBエンジンの種類

MySQL

概要

  • 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などがある。