MysqlのMyISAMとInnoDBの違い

Webエンジニアの雄大です。

この本、サーバーやDBを複数台使う時に、何のためにこのようなサーバーやDBの構成にするのかが、
はてなの事例を交えながら、書かれているので、とてもオススメです。

さて、MysqlのMyISAMとInnoDBの違いがいまいち、わからなかったので、この本を読んでしっかりと学んでおきました。

MyISAM
【メリット】
・過去にupdateもdeleteもしたことがないテーブルに対するinsert操作が高速になっている。
・起動・停止が高速。
・テーブルの移動や名前変更がファイルシステム操作で直接できるなど、DBの運用が容易
【デメリット】
・トランザクション機能がない。
・update,delete,insertがテーブルロックになるので、更新が多い用途には不利である。

InnoDB
【メリット】
・トランザクションに対応する、異常終了した時のリカバリ機能。
【デメリット】
・起動・停止がデータ量によっては数分単位かかる。
・テーブル操作はすべてDB経由で行わないといけない。

この本の時点だと、はてなでは
基本的にInnoDBを選択。
追記しかない場合はMyISAMを利用。
ただ、ケースバイケースで選択する場合がほとんどのそうです。

P.S
仕事で、前はとりあえず、こなすだけで一杯一杯で、今も、一杯一杯な事には間違いないのです。
しかし、そろそろ、どういう意味があるのかとか、なぜ、このような構成にしたかなど、一つ一つ深堀りしていかないといけない時期にきたなと思っています。

コメント

タイトルとURLをコピーしました