【數據庫】mysql數據庫緩存


配置文件在 /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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM