my.cnf masih tampak terpasang rapi tanpa memunculkan error fatal saat daemon dinyalakan. Untuk memahami apa yang sebenarnya terjadi pada infrastruktur kamu, mari kita bedah beberapa miskonsepsi umum seputar Query Cache di MySQL 8.0.
Mitos 1: Pengaturan query_cache_size di my.cnf Masih Berfungsi
query_cache_type = 1 dan query_cache_size = 64M masih tertulis di file konfigurasi, MySQL akan tetap menyimpan hasil SELECT di memori. Anggapan ini terasa masuk akal karena server tetap berjalan normal setelah restart dan tidak langsung mengalami crash.
Kenyataannya, MySQL 8.0 menghapus seluruh subsistem Query Cache dari kode sumbernya. Variabel sistem terkait Query Cache tidak lagi dikenali. Jika kamu menuliskan opsi ini di versi 8.0 awal, MySQL bahkan bisa menolak menyala jika opsi dianggap usang (unknown variable). Pada beberapa distribusi atau skenario upgrade tertentu, opsi ini diabaikan begitu saja tanpa efek apa pun. Hasilnya, nol bita memori dialokasikan untuk Query Cache, dan tidak ada satu pun hasil query yang ditampung secara otomatis oleh database.
Kamu bisa memverifikasi langsung lewat MySQL client apakah variabel tersebut masih ada atau sudah benar-benar hilang:
BASH
mysql -u root -p -e "SHOW VARIABLES LIKE 'have_query_cache'; SHOW VARIABLES LIKE 'query_cache_%';"Mitos 2: Query Cache Dihapus Hanya Karena Kurang Populer
Mitos 3: InnoDB Buffer Pool Otomatis Menggantikan Fungsi Query Cache
Mitos 4: Database Harus Menyelesaikan Semua Urusan Caching Sendiri
- Cache invalidation dapat dikontrol secara granular oleh logika aplikasi, bukan secara kasar menghapus seluruh cache tabel.
- Beban parsing query, koneksi jaringan, dan pemrosesan data sama sekali tidak menyentuh database relasional.
- Throughput pembacaan data cache bisa dinaikkan secara independen tanpa membebani thread kerja MySQL.
