MySQL的查詢快取功能何時該開啟

lhrbest發表於2020-05-14


MySQL的查詢快取功能何時該開啟


背景描述

查詢快取(Query Cache,簡稱QC),儲存SELECT語句及其產生的資料結果。

適用場景

用於頻繁提交同一個語句,並且該表資料變化不是很頻繁的場景,例如一些靜態頁面,或者頁面中的某塊不經常發生變化的資訊。

由於查詢快取需要快取最新資料結果,因此表資料發生任何變化(insert、update、delete或其他可能產生資料變化的操作),都會導致查詢快取被重新整理。因而,對於一個更新頻率非常低而只讀查詢頻率非常高的場景下,開啟查詢快取還是比較有優勢的。

不適用場景

查詢快取嚴格要求2次SQL請求要完全一樣,包括SQL語句,連線的資料庫、協議版本、字符集等因素都會影響。下面為查詢快取不適用的幾個場景:

  1. 子查詢;
  2. 過程、函式、觸發器、event中呼叫的SQL,或者引用到這些結果的;
  3. 查詢中涉及一些特殊函式時,例如:BENCHMARK()、CURDATE()、CURRENT_TIME()、CURRENT_TIMESTAMP()、NOW()、SLEEP()、CONNECTION_ID()、CURRENT_DATE()、CURRENT_USER()、PASSWORD()、RAND()、UUID()、ENCRYPT()、LAST_INSERT_ID()等等;
  4. 查詢涉及到mysql,information_schema或performance_schema。
  5. 類似SELECT…LOCK IN SHARE MODE、SELECT…FOR UPDATE、SELECT..INTO OUTFILE/DUMPFILE、SELECT * FROM ... WHERE autoincrement_col IS NULL的查詢;
  6. SELECT執行計劃用到臨時表;
  7. 未引用任何表的查詢,例如SELECT 1+2;
  8. 查詢產生了告警(warnings);
  9. SELECT語句中存在SQL_NO_CACHE關鍵字;
  10. 涉及到分割槽表。

可見,使用查詢的快取的限制非常多。當使用場景中以只讀為主,很少有更新的情況時,再考慮 開啟查詢快取

開啟查詢快取

設定選項query_cache_type = 1 ,同時設定query_cache_size = 67108864;

注:query_cache_size的值設定在100MB以內即可。在MySQL裡查詢快取是由一個全域性鎖在控制,每次更新查詢快取的記憶體塊都需要進行鎖定。

關閉查詢快取

設定選項query_cache_type = 0,同時設定query_cache_size = 0。




About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub、部落格園、CSDN和個人微 信公眾號( DB寶)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文部落格園地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址:

........................................................................................................................

● QQ群號: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友 646634621 ,註明新增緣由

● 於 2020-05-01 06:00 ~ 2020-05-30 24:00 在西安完成

● 最新修改時間:2020-05-01 06:00 ~ 2020-05-30 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網路班http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客戶端掃描下面的二維碼來關注小麥苗的微 信公眾號( DB寶)及QQ群(DBA寶典)、新增小麥苗微 信, 學習最實用的資料庫技術。

........................................................................................................................

歡迎與我聯絡

 

 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2692161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章