參數 | 含義 |
---|---|
Qcache_free_blocks | 查詢緩存中的可用內存塊數 |
Qcache_free_memory | 查詢緩存的可用內存量 |
Qcache_hits | 查詢緩存命中數 |
Qcache_inserts | 添加到查詢緩存的查詢數 |
Qcache_lowmen_prunes | 由于內存不足而從查詢緩存中刪除的查詢數 |
Qcache_not_cached | 非緩存查詢的數量(由于 query_cache_type 設置而無法緩存或未緩存) |
Qcache_queries_in_cache | 查詢緩存中注冊的查詢數 |
Qcache_total_blocks | 查詢緩存中的塊總數 |
MySQL的查詢緩存默認是關閉的,需要手動配置參數 query_cache_type , 來開啟查詢緩存。query_cache_type
該參數的可取值有三個
值 | 含義 |
---|---|
OFF 或 0 | 查詢緩存功能關閉 |
ON 或 1 | 查詢緩存功能打開,SELECT的結果符合緩存條件即會緩存,否則,不予緩存,顯式指定 SQL_NO_CACHE,不予緩存 |
DEMAND 或 2 | 查詢緩存功能按需進行,顯式指定 SQL_CACHE 的SELECT語句才會緩存;其它均不予緩存 |
1、在usr/my.cnf中進行配置(配置文件也可能在/etc/my.cnf)
2、重啟服務
service mysql restart
3、測試
可以在SELECT語句中指定兩個與查詢緩存相關的選項
SELECT SQL_CACUE id,name FROM customer; SELECT SQL_NO_CACHE id,name FROM customer;
1、SQL語句不一致
要想命中緩存,查詢的SQL語句必須一致
SQL1:select count(*) from tb_item; SQL2:select count(*) from tb_Item;
2、查詢語句有一些不確定的值
SQL1:select * from tb_item where updatetime now() limit 1; SQL2:select user(); SQL3:select database();
3、不使用任何表查詢語句
select 'A';
4、查詢mysql、information_schema或performance_schema數據庫中的表
select * from information_schema.engines;
5、在存儲的函數、觸發器或事件主體內執行的查詢
如題
6、表更改導致緩存刪除
如果表更改,則使用該表的所有高速緩存查詢都將變為無效并從高速緩存中刪除。這包括使用 MERGE 映射到 已更改表的表的查詢。一個表可以被許多類型的語句,如被改變 INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE,或 DROP DATABASE 。
以上便是關于mysql查詢緩存簡單使用總結
到此這篇關于詳解mysql查詢緩存簡單使用的文章就介紹到這了,更多相關mysql查詢緩存使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!