Kembali pada Juni 2014 saya menjawab https://dba.stackexchange.com/questions/66774/why-query-cache-type-is-disabled-by-default-start-from-mysql-5 -6/66796#66796
Dalam postingan tersebut, saya membahas bagaimana InnoDB melakukan micromanage perubahan antara InnoDB Buffer Pool dan Query Cache.
TIDAK MENGGUNAKAN CACHE QUERY
Jawaban paling sederhana adalah dengan menonaktifkan cache kueri, tetapi ada masalah:Anda harus mengatur keduanya query_cache_size dan query_cache_type ke nol(0).
Jika Anda tidak menyetel query_cache_type ke nol (0), manajemen mikro perubahan masih terjadi. Ini diverifikasi oleh Paragraf 8 MySQL Dokumentasi "Konfigurasi Tembolok Kueri" mengatakan
MENGUNAKAN CACHE QUERY
Jika Anda benar-benar ingin menggunakan Query Cache, maka Anda perlu mempelajari data Anda. Pada dasarnya, Anda perlu mengetahui ukuran hasil Anda. Anda kemudian akan menyetel query_cache_limit dan query_cache_min_res_unit untuk mengakomodasi kumpulan hasil ukuran rata-rata serta kumpulan hasil ukuran maksimum.
Sebagai alternatif, Anda dapat mengaktifkan Cache Kueri secara global tetapi menonaktifkan penggunaannya dari Sesi DB Anda seperti yang dinyatakan dalam Paragraf 9 :
PERTANYAAN SEBENARNYA ANDA
Tembolok Kueri, Kumpulan Penyangga InnoDB, Per Utas Koneksi (Lihat posting saya https://dba.stackexchange.com/questions/16969/how-costly-is-opening-and-closing-of-a-db-connection/ 16973#16973 ), dan OS semuanya bersaing untuk mendapatkan RAM.
Saat melihat hanya Query Cache dan InnoDB Buffer Pool, Anda perlu melihat berapa banyak ruang kosong di InnoDB Buffer Pool setelah MySQL berjalan selama berhari-hari atau berminggu-minggu.
Anda dapat menjalankan kueri ini
SELECT variable_value / 64 free_mb
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_free';
Ini akan memberi tahu Anda seberapa banyak Anda dapat menurunkan InnoDB Buffer Pool. Anda kemudian dapat meningkatkan Cache Kueri dengan ukuran itu. Jika kueri ini mengembalikan kurang dari 1024, itu mungkin tidak sepadan dengan usaha. Anda akan mendapatkan ruang tambahan dari RAM atau hanya menonaktifkan Query Cache.