MySQL關閉查詢快取(QC)的兩種方法

來源:互聯網
上載者:User

標籤:避免   sele   資料   sel   qcache   glob   開啟   you   方法   

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)的兩種方法然後對錶查詢了兩次,可以看到,第二次明顯的緩衝了資料。然後查看命中緩衝變為了1MySQL關閉查詢快取(QC)的兩種方法下面就開始關閉緩衝。關閉緩衝有兩种放法,一種臨時的,一種永久的。臨時的直接再命令列執行set global query_cache_size=0set global query_cache_type=0永久的修改設定檔my.cnf ,添加下面的配置即可。query_cache_type=0query_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)的兩種方法快取命中為0MySQL關閉查詢快取(QC)的兩種方法然後開始查詢,查詢兩次後發現快取命中率依然為0,很明顯沒有查詢快取。MySQL關閉查詢快取(QC)的兩種方法然後不加sql_no_cache 查詢,很明顯快取命中為1,開始查詢快取了MySQL關閉查詢快取(QC)的兩種方法

 

MySQL關閉查詢快取(QC)的兩種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.