您好,登錄后才能下訂單哦!
小編給大家分享一下mysql進行查詢緩存失敗的解決方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.配置參數(shù)
MySQL的查詢緩存默認是關閉的,需要手動配置參數(shù)query cache type,來開啟查詢緩存。query cache type該參數(shù)的可取值有三個 :
1)OFF或0 :查詢緩存功能關閉;
2)ON或1 :查詢緩存功能打開,SELECT的結果符合緩存條件即會緩存,否則,不予緩存,顯示指定SQL_NO_CACHE,不予緩存
3)DEMAND或2 :查詢緩存功能按需進行,顯示指定SQL_CACHE的SELECT語句才會緩存;其他均不予緩存。
在/usr/my.cnf配置中,增加以下配置 :
2.開啟mysql的查詢緩存
query_cache_type=1
配置完畢之后,重啟服務即可生效;
然后就可以在命令行執(zhí)行SQL語句進行驗證,執(zhí)行一條比較耗時的SQL語句,然后再多執(zhí)行幾次,查看后面幾次的執(zhí)行時間;獲取通過查看查詢緩存的緩存命中數(shù),來判定是否走查詢緩存。
緩存失效:
在表的結構或數(shù)據(jù)發(fā)生改變時,查詢緩存中的數(shù)據(jù)不再有效。如INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE會導致緩存數(shù)據(jù)失效。所以查詢緩存適合有大量相同查詢的應用,不適合有大量數(shù)據(jù)更新的應用。
一旦表數(shù)據(jù)進行任何一行的修改,基于該表相關cache立即全部失效。
都知道函數(shù)在使用前需要弄清楚參數(shù)的屬性,這樣才能對函數(shù)的使用有較好的了解。有些小伙伴學習了查詢緩存后,直接進行了下一步的實戰(zhàn)操作。這里小編想提醒大家,開始操作之前一定要先設置參數(shù),不然就會出現(xiàn)問題。
以上是“mysql進行查詢緩存失敗的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。