1967 ストレージエンジン はくぶん 2009-09-19 17:21:12
MySQLのストレージエンジンにはMyISAMとInnoDBの2種類ある。
MyISAMは読み書きの高速性、InnoDBはトランザクション処理が長所と言われている。

この掲示板は複数のストレージエンジンで構成されており、そのすべてがMyISAMである。
以前、更新頻度の高いストレージエンジンを実験的にInnoDBに変更したことがあるが、
表示に要する時間が、すべてMyISAM状態でだいたい3〜4秒くらいだったものが、
InnoDBを混在させると7〜8秒と、パフォーマンスが極端に下がった。

この掲示板でも、読み書きのタイミングが重なれば、読み取り待ちの状態が起こり、
表示にかなり時間がかかることがある、というのは事実である。
InnoDBはトランザクション処理により、重複時に読み取り待ち状態がないとはいえ、
通常の重複のない状態ではMyISAMより処理速度は明らかに遅い。

結局、InnoDBのトランザクション処理という長所は、
この掲示板程度の重複頻度を想定しているのではないのだろう。
2ちゃんねるとかウィキペディアとか、そんな巨大サイト向け。

複数の人間による読み書きのタイミングが頻繁に重なる。
そういった状況になった時、初めてInnoDBがその威力を発揮するのだろう。
メッセージ文字数:529/547