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 | |||