首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 查詢快取清空與管理實戰

     編輯:MySQL 綜合教學

現象

同一條 SQL 首次執行近 1 分鐘,二次瞬間完成(0.00 sec),原因是 Query Cache 命中。

清空快取指令

RESET QUERY CACHE;

立即釋放所有快取塊,後續查詢重新解析執行。

查詢快取關鍵狀態變數

變數含義
Qcache_queries_in_cache目前快取查詢數
Qcache_inserts新增快取數
Qcache_hits命中次數
Qcache_lowmem_prunes因記憶體不足被剔除數
Qcache_not_cached未快取數(不可快取或關閉)
Qcache_free_memory快取剩餘記憶體
Qcache_free_blocks空閒記憶體塊數
Qcache_total_blocks總塊數

調優建議

  • Qcache_lowmem_prunes 持續增長 → 擴大 query_cache_size。
  • 命中率 Qcache_hits / (Qcache_hits + Qcache_inserts) 低於 20% → 評估關閉快取(query_cache_size=0)。
  • 頻繁更新的表不適合開啟快取,寫入會失效相關快取。
  • MySQL 8.0 已移除 Query Cache,升級前需評估影響。

相關指令

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved