配置文件在 /etc/mysql/my.cnf
###################
第一部分:查詢數據庫緩存相關變量
###################
show variables like "%query_cache%"
query_cache_limit:允許 Cache 的單條 Query 結果集的最大容量,默認是1MB,超過此參數設置的 Query 結果集將不會被 Cache
query_cache_min_res_unit:設置 Query Cache 中每次分配內存的最小空間大小,也就是每個 Query 的 Cache 最小占用的內存空間大小,默認4KB,要設置合理,不然會造成碎片過多,造成內存的浪費。平均大小=(query_cache_size-Qcache_free_memory)/Qcache_queries_in_cache
query_cache_size:設置 Query Cache 所使用的內存大小,默認值為0,大小必須是1024的整數倍,如果不是整數倍,MySQL 會自動調整降低最小量以達到1024的倍數
query_cache_type:控制 Query Cache 功能的開關,可以設置為0(OFF),1(ON)和2(DEMAND)三種,意義分別如下:
0(OFF):關閉 Query Cache 功能,任何情況下都不會使用 Query Cache
1(ON):開啟 Query Cache 功能,但是當 SELECT 語句中使用的 SQL_NO_CACHE 提示后,將不使用Query Cache
2(DEMAND):開啟 Query Cache 功能,但是只有當 SELECT 語句中使用了 SQL_CACHE 提示后,才使用 Query Cache
query_cache_wlock_invalidate:控制當表有其他連接寫鎖定發生時是否仍從 Query Cache中返回結果,如果設置為 1(TRUE),則不會從Query Cache中返回數據,如果設置為0(FALSE)則在鎖定時刻仍然允許讀取該表相關的 Query Cache。默認false
###################
第二部分:查詢數據庫緩存相關狀態
###################
show status like "%Qcache%"
Qcache_free_blocks:目前還處於空閑狀態的 Query Cache 中內存 Block 數目
Qcache_free_memory:目前還處於空閑狀態的 Query Cache 內存總量
Qcache_hits:Query Cache 命中次數
Qcache_inserts:向 Query Cache 中插入新的 Query Cache 的次數,也就是沒有命中的次數
Qcache_lowmem_prunes:當 Query Cache 內存容量不夠,需要從中刪除老的 Query Cache 以給新的 Cache 對象使用的次數
Qcache_not_cached:沒有被 Cache 的 SQL 數,包括無法被 Cache 的 SQL 以及由於 query_cache_type 設置的不會被 Cache 的 SQL
Qcache_queries_in_cache:目前在 Query Cache 中的 SQL 數量
Qcache_total_blocks:Query Cache 中總的 Block 數量
###################
第三部分:Innodb_buffer_pool相關
###################
參看博文
http://blog.csdn.net/tsuliuchao/article/details/5373041