- MyISAMには汎用データキャッシュがありません。これは、公式ドキュメント
:
This is because MySQL relies on the operating system to perform file system caching for data reads, so you must leave some room for the file system cache.
最近のOS、特にLinuxは、頻繁にアクセスされるファイルをページキャッシュに保持する非常にスマートな仮想メモリサブシステムを備えている傾向があるため、ワーキングセットが使用可能なメモリに収まる場合、ディスクI/Oは最小限に抑えられます。
- 2番目の質問に答えるには:絶対にしないでください。
read_buffer_size、read_rnd_buffer_size、sort_buffer_size、join_buffer_sizeなどのさまざまなmyisam変数についても、「バッファーのオーバーサイズ」に陥らないことが重要です。動的に割り当てられるものもあるため、大きいほど速いとは限りません。場合によっては遅くなることもあります。この
posixプラットフォームで5.1を使用している場合は、 myisam_use_mmap ワークロードでは、malloc()呼び出しの量を減らすことで、競合の多いケースを支援することになっています。