SQL_NO_CACHE
Cukup tambahkan SQL_NO_CACHE setelah bagian SELECT dari pernyataan SELECT dan sebelum daftar bidang. Kueri pertama di bawah ini akan menggunakan cache kueri jika diaktifkan dan kueri di-cache:
SELECT * FROM table WHERE search= 'keyword'; //lets take 1ms
Kueri kedua di bawah ini tidak akan menggunakan cache kueri:
SELECT SQL_NO_CACHE * FROM table WHERE search= 'keyword'; //lets take ~0.2ms at 2nd time
Ini sangat berguna saat membandingkan kueri; jika cache kueri diaktifkan meskipun kueri pertama mungkin memerlukan waktu, kueri kedua dan selanjutnya hampir instan. Dengan penggunaan SQL_NO_CACHE Anda dapat yakin bahwa cache kueri tidak digunakan dan dapat dengan aman membandingkan waktu hasil. Petunjuk SQL_NO_CACHE mematikan mekanisme cache kueri bawaan MySQL untuk kueri tertentu. Anda dapat membantu MySQL membuat cache kueri lebih efisien dengan menggunakan petunjuk ini pada kueri yang sangat dinamis (seperti pencarian kata kunci, atau laporan yang hanya berjalan setiap malam). Pastikan cache kueri diaktifkan jika tidak, hal ini tidak perlu dilakukan perintah.
apa SQL_CACHE dan SQL_NO_CACHE ?
Opsi SQL_CACHE dan SQL_NO_CACHE mempengaruhi cache hasil kueri dalam cache kueri. SQL_CACHE memberi tahu MySQL untuk menyimpan hasilnya dalam cache kueri jika dapat di-cache dan nilai variabel sistem query_cache_type adalah 2 atau DEMAND. Dengan SQL_NO_CACHE, server tidak menggunakan cache kueri. Itu tidak memeriksa cache kueri untuk melihat apakah hasilnya sudah di-cache, juga tidak men-cache hasil kueri. (Karena keterbatasan dalam pengurai, karakter spasi harus mendahului dan mengikuti kata kunci SQL_NO_CACHE; nonspasi seperti baris baru menyebabkan server memeriksa cache kueri untuk melihat apakah hasilnya sudah di-cache.)
NO_CACHE menurut saya dapat digunakan jika 'CACHE' diaktifkan dan data dalam db diperbarui secara dinamis, yaitu cache data db tidak dapat diandalkan, mis:menyimpan hash kata sandi pengguna, kami tidak dapat mengandalkan CACHE karena sering terjadi kemungkinan perubahan data
Pembaruan skenario yang berguna
1) paksa untuk tidak menggunakan cache untuk menguji kecepatan kueri