Innodbが十分に安定している今敢えてMyISAMを選択する理由はあまり無いのだけど、ここしばらく苦しめられた思い出として記録する MyISAMとキャッシュ MyISAMではデータとインデックスがそれぞれ別の方式でキャッシュされる。データはOS自身が持っているページキャッシュで、インデックスはMySQLではkey_buffer_sizeと呼ばれる値で指定されるサイズの領域。Innodbではこれらが統合されているので、キャッシュ領域を主記憶の過半以上に確保してしまっても何ら問題ない(むしろ推奨値は主記憶の最大80%)。ところが、MyISAMでは前述の通りOSのページキャッシュを利用するためそれらのために十分に残りメモリを確保するため、key_bufferは1/4程度に抑えておく必要がある。 key_bufferの管理方式 key_bufferはmy.cnfでサイズを指定するが、内部ではこれ