但命中時極快,**整體收益通常大於成本**。
@var)NOW()、RAND()、UUID() 等query_cache_limit)query_cache_size - 40KB 元數據)。query_cache_min_res_unit(默認 4KB)**。FLUSH QUERY CACHE 整理(MySQL 5.7.20 移除查詢緩存,8.0 徹底移除)。InnoDB 事務未提交前,修改的數據對其他事務不可見,但查詢緩存**不感知事務隔離**,可能導致:
MySQL 通過**表級鎖**在事務提交時失效相關緩存,但並發高時仍有窗口期。建議高併發寫入場景**關閉查詢緩存**(query_cache_type=OFF)。
| 參數 | 建議值 | 說明 |
|---|---|---|
| query_cache_size | 64M-256M | 過大導致鎖爭用,建議 ≤256M |
| query_cache_limit | 1M-4M | 單查詢結果超過此值不緩存 |
| query_cache_min_res_unit | 4K-8K | 太小碎片多,太大浪費 |
| query_cache_type | DEMAND | 需緩存時用 SQL_CACHE 顯式聲明 |