MyISAMとInnoDBについて

移転しました。

MySQLMyISAMのエンジンを使うメリットほぼないような気がするのだが、
絶対MyISAMじゃなきゃだめ!
みたいな人いるのだろうか。。

MyISAMInnoDBを簡単にだが比較してみた。

MyISAMとくらべ、InnoDBのメリット

InnoDBMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)
トランザクション制御がInnoDBは可能
・テーブルロックではなく行ロック
InnoDBは外部キー制約がある
InnoDBトランザクション制御ができる
などなど

MyISAMに比べInnoDBのデメリット

MyISAMに比べ書き込みが遅い。
 →ただしパラメータ設定により、書込み速度を上げることもできる
  http://d.hatena.ne.jp/kazuhooku/20091029/1256775791
・1つの巨大ファイルができてしまう。
 →ただしパラメータ設定により、テーブルごとのファイルに分ける事が可能
 http://cl.pocari.org/2006-07-07-2.html
・検索が遅いと言われている。
 →ただし、パラメータをチューニングすれば速度は早くなるはず

MyISAMでもよいテーブル

消えてもよいログデータを保持するテーブル

運用の手間について

巨大ファイルは分割する事ができるので
(http://cl.pocari.org/2006-07-07-2.html)
一度手順を決めてしまえば、それほど面倒でないはず。