MySQL的查询缓存
生活随笔
收集整理的這篇文章主要介紹了
MySQL的查询缓存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MySQL的查詢緩存:
? MySQL查詢緩存用戶保存查詢語句返回的結果,省去了分析,優化,查詢的操作.
? 如何緩存數據?
將MySQL的查詢的SQL語句使用hash加密算法加密保存為key,查詢的結果保存為value的鍵值對.
? 緩存使用的額外的開銷?
1 每個SQL語句都得查詢緩存.
2 查詢的結果先要緩存.
與緩存有關的一些配置參數變量:
? SHOW GLOBAL VARIABLES LIKE 'query_cache%';
? 1 query_cache_type 這個是查詢緩存的開關,有3個值
ON | OFF | DEMAND?
DEMAND 表示在SQL語句中加入SQL_QUERY的時候才考慮加入緩存
SELECT SQL_QUERY * FROM table ......;
? 2 query_cache_size 這個是在啟動服務的時候申請的內存的空間的大小
這個內存空間是一次性申請,一次性分配,如果修改了這個值,那么緩存在內存中的數據會被清除,并重新申請內存空間.
? 3 query_cache_min_res_unit 格式化申請內存數據庫的大小
? 4 query_cache_limit 單個緩存數據的大小 如果超過了這個值就不緩存
? 5 query_cache_wlock_invalidate 如果緩存的數據加鎖了是否返回數據 默認值是OFf 表示返回 體會invalidate的意思,是否定的意思
命中率問題:
SHOW GLOBAL STATUS LIKE 'Qcache%';
Qcache_hits 緩存命中的次數
Qcache_inserts 向緩存中寫入數據的次數
Qcache_free_memory 表示申請了內存中還沒有格式化的空間大小
Qcache_not_cache 表示沒有緩存的SQL查詢語句
Qcahce_queries_in_cache 內存中緩存數據的數目
Qcache_lowmen_prunes 由于內存不夠修剪內存的次數
Qcache_total_blocks 格式化了內存數據的個數
Qcache_free_blocks 格式化了但是空閑的數據塊的個數
Query_his / (Qcahce_hits + Com_select)
Qcache_hits / Qcache_insert > 3 就可以了 理想的值是10
? MySQL查詢緩存用戶保存查詢語句返回的結果,省去了分析,優化,查詢的操作.
? 如何緩存數據?
將MySQL的查詢的SQL語句使用hash加密算法加密保存為key,查詢的結果保存為value的鍵值對.
? 緩存使用的額外的開銷?
1 每個SQL語句都得查詢緩存.
2 查詢的結果先要緩存.
與緩存有關的一些配置參數變量:
? SHOW GLOBAL VARIABLES LIKE 'query_cache%';
? 1 query_cache_type 這個是查詢緩存的開關,有3個值
ON | OFF | DEMAND?
DEMAND 表示在SQL語句中加入SQL_QUERY的時候才考慮加入緩存
SELECT SQL_QUERY * FROM table ......;
? 2 query_cache_size 這個是在啟動服務的時候申請的內存的空間的大小
這個內存空間是一次性申請,一次性分配,如果修改了這個值,那么緩存在內存中的數據會被清除,并重新申請內存空間.
? 3 query_cache_min_res_unit 格式化申請內存數據庫的大小
? 4 query_cache_limit 單個緩存數據的大小 如果超過了這個值就不緩存
? 5 query_cache_wlock_invalidate 如果緩存的數據加鎖了是否返回數據 默認值是OFf 表示返回 體會invalidate的意思,是否定的意思
命中率問題:
SHOW GLOBAL STATUS LIKE 'Qcache%';
Qcache_hits 緩存命中的次數
Qcache_inserts 向緩存中寫入數據的次數
Qcache_free_memory 表示申請了內存中還沒有格式化的空間大小
Qcache_not_cache 表示沒有緩存的SQL查詢語句
Qcahce_queries_in_cache 內存中緩存數據的數目
Qcache_lowmen_prunes 由于內存不夠修剪內存的次數
Qcache_total_blocks 格式化了內存數據的個數
Qcache_free_blocks 格式化了但是空閑的數據塊的個數
Query_his / (Qcahce_hits + Com_select)
Qcache_hits / Qcache_insert > 3 就可以了 理想的值是10
總結
以上是生活随笔為你收集整理的MySQL的查询缓存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL的用户和授权
- 下一篇: MySQL的日志管理