MySQLのストレージエンジン(MyISAMとInnoDB)の違いについて

MySQLのストレージエンジン(MyISAMとInnoDB)の違いについて

MySQLのストレージエンジンとは、簡単に言うとSQLでDB操作する時に基礎となるソフトウェアです。
CRUD(SELECT/INSERT/UPDATE/DELETE)に対して、具体的にどのような処理をするか、レコードの格納などを司っています。
※MySQL以外でも、Oracleなどに使われている。

メジャーどころは、昔からある「MyISAM」とMySQL5.5からデフォルトになった「InnoDB」です。
基本的には、新しいInnoDBの方が優れています。

【ロックの粒度】
MyISAM = テーブル単位 ← 同じテーブルで別の処理があると、後の処理が待ち状態になる
InnoDB = レコード単位 ← 同じテーブル&同じレコードの場合のみ、後の処理が待ち状態になる

【結論】
リレーションの無い単純なテーブル構成なら、速度重視のMyISAM
リレーションのある複雑なテーブル構成(トランザクションや外部キーはMyISAM非対応)ならInnoDB
速度重視ではない限りは、InnoDBの方が良いと思います(テーブル毎に変更も出来る)