1. 程式人生 > >MySQL關閉查詢緩存(QC)的兩種方法

MySQL關閉查詢緩存(QC)的兩種方法

from com 技術分享 兩種 查詢 data- 命中 sql語句 count

MySQL Query Cache 會緩存select 查詢,安裝時默認是開啟的,但是如果對表進行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等操作時,之前的緩存會無效並且刪除。這樣一定程度上也會影響我們數據庫的性能。所以對一些頻繁的變動表的情況開啟緩存是不明智的。還有一種情況我們測試數據庫性能的時候也要關閉緩存,避免緩存對我們測試數據的影響。下面介紹兩種不使用緩存的方案: 第一種:方案 首先查看數據庫的緩存是開啟的 show variables like "%cache%"; 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 查看緩存命中情況 show status like "%qcache%"; 技術分享圖片
MySQL關閉查詢緩存(QC)的兩種方法 然後對表查詢了兩次,可以看到,第二次明顯的緩存了數據。然後查看命中緩存變為了1 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 下面就開始關閉緩存。關閉緩存有兩種放法,一種臨時的,一種永久的。 臨時的直接再命令行執行 set global query_cache_size=0 set global query_cache_type=0 永久的修改配置文件my.cnf ,添加下面的配置即可。 query_cache_type=0 query_cache_size=0 我們用永久的修改方法 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 註意改完要重啟數據庫,然後再進去看看 技術分享圖片
MySQL關閉查詢緩存(QC)的兩種方法 然後開始查詢 很明顯沒有命中緩存。 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 第二種方案: 再開啟緩存的情況下我們對sql語句做一些改動 Select sql_no_cache count(*) from users; 不緩存 Select sql_cache count(*) from users; 緩存(也可以不加,默認緩存已經開啟了) 首先查看數據庫緩存開啟中 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 緩存命中為0 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 然後開始查詢,查詢兩次後發現緩存命中率依然為0,很明顯沒有查詢緩存。 技術分享圖片 MySQL關閉查詢緩存(QC)的兩種方法 然後不加sql_no_cache 查詢,很明顯緩存命中為1,開始查詢緩存了 技術分享圖片
MySQL關閉查詢緩存(QC)的兩種方法

MySQL關閉查詢緩存(QC)的兩種方法