- Tidak ada MyISAM yang tidak memiliki cache data tujuan umum. Ini didokumentasikan dalam deskripsi "key_buffer_size" dari dokumentasi resmi
:
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 modern, terutama Linux, cenderung memiliki subsistem memori virtual yang sangat cerdas yang akan menyimpan file yang sering diakses di cache halaman, sehingga I/O disk disimpan pada tingkat minimum ketika set kerja sesuai dengan memori yang tersedia.
- Jadi untuk menjawab pertanyaan kedua Anda:tidak pernah.
Penting untuk tidak jatuh ke dalam "buffer oversizing" juga untuk berbagai variabel myisam seperti read_buffer_size, read_rnd_buffer_size, sort_buffer_size, join_buffer_size, dll karena beberapa dialokasikan secara dinamis, jadi lebih besar tidak selalu berarti lebih cepat - dan terkadang bahkan bisa lebih lambat - lihat postingan ini di mysqlperformanceblog untuk kasus yang sangat menarik.
Jika Anda menggunakan 5.1 pada platform posix, Anda mungkin ingin membandingkan myisam_use_mmap pada beban kerja Anda, ini seharusnya membantu kasus pertengkaran tinggi dengan mengurangi jumlah panggilan malloc().