にわかサーバー屋さんの覚書

サーバー系を担当しているけど、設計などは日々勉強中のプログラマの覚書

MySQL - MyISAMにする?それともInnoDBにする?それとも寝る?

ちょっと、入門的にえらい人に聞いた話。

 

MyISAM - テーブルロック

InnoDB - 行レベルロック

 

MyISAM - インデックスしかキャッシュされない

InnoDB - インデックスかデータかに関わらずメモリ上にキャッシュ

 

 

じゃあ、でーっかいマスタやログなど、ほぼSELECTのみテーブルならMyISAMがいいの?

って感じかも知れませんが、

MyISAMは、

 

マルチコア環境で性能がスケールしない

 

ってことがあり、何ともかんとも。。。

ま、最近はCPUのコア数がグングン増えてますので、

「MyISAM=パフォーマンスがいい」とも言えない感じですね。

まぁ、利用状況に応じてテストしろと。

 

MySQL5.6から、FULLTEXTインデックスのサポートで全文検索も使えるッぽいし、

テーブル移動も、それなりに出来る様になってきているようだし、

oracle社もMyISAMでできて、InnoDBで出来ないことをなくす動きっぽいので、

あまり、MyISAMを使う理由は無いかも。

 

結論:よほどのことじゃない限り、いまからはInnoDBでいいんジャマイカ