日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL查询缓存总结

發布時間:2024/10/12 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL查询缓存总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

可以通過下面的SQL查看當前查詢緩存相關參數狀態: SHOW VARIABLES LIKE '%query_cache%'; 輸出結果類似下面:? query_cache_type? 查詢緩存類型,有0、1、2三個取值。0則不使用查詢緩存。1表示始終使用查詢緩存。2表示按需使用查詢緩存。? 如果query_cache_type為1而又不想利用查詢緩存中的數據,可以用下面的SQL:? SELECT SQL_NO_CACHE * FROM my_table WHERE condition; 如果值為2,要使用緩存的話,需要使用SQL_CACHE開關參數: SELECT SQL_CACHE * FROM my_table WHERE condition; query_cache_size? 默認情況下query_cache_size為0,表示為查詢緩存預留的內存為0,則無法使用查詢緩存。所以我們需要設置query_cache_size的值:? SET GLOBAL query_cache_size = 134217728; 注意上面的值如果設得太小不會生效。比如我用下面的SQL設置query_cache_size大小:? SET GLOBAL query_cache_size = 4000; SHOW WARNINGS; 會返回下面的結果:? 緩存條件? 查詢緩存可以看做是SQL文本和查詢結果的映射。如果第二次查詢的SQL和第一次查詢的SQL完全相同(注意必須是完全相同,即使多一個空格或者大小寫不同都認為不同)且開啟了查詢緩存,那么第二次查詢就直接從查詢緩存中取結果,可以通過下面的SQL來查看緩存命中次數(是個累加值): SHOW STATUS LIKE 'Qcache_hits'; 另外即使完全相同的SQL,如果使用不同的字符集、不同的協議等也會被認為是不同的查詢而分別進行緩存。 緩存數據失效時機? 在表的結構或數據發生改變時,查詢緩存中的數據不再有效。有這些INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE會導致緩存數據失效。所以查詢緩存適合有大量相同查詢的應用,不適合有大量數據更新的應用。 可以使用下面三個SQL來清理查詢緩存:? 1、FLUSH QUERY CACHE; //?清理查詢緩存內存碎片。 2、RESET QUERY CACHE; //?從查詢緩存中移出所有查詢。 3、FLUSH TABLES; //關閉所有打開的表,同時該操作將會清空查詢緩存中的內容。

轉載于:https://www.cnblogs.com/manmanrenshenglu/p/9723053.html

總結

以上是生活随笔為你收集整理的MySQL查询缓存总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。