久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

MySQL取消了Query Cache的原因

瀏覽:4日期:2023-10-10 14:35:38

MySQL之前有一個查詢緩存Query Cache,從8.0開始,不再使用這個查詢緩存,那么放棄它的原因是什么呢?在這一篇里將為您介紹。

MySQL查詢緩存是查詢結果緩存。它將以SEL開頭的查詢與哈希表進行比較,如果匹配,則返回上一次查詢的結果。進行匹配時,查詢必須逐字節匹配,例如 SELECT * FROM t1; 不等于select * from t1;,此外,一些不確定的查詢結果無法被緩存,任何對表的修改都會導致這些表的所有緩存無效。因此,適用于查詢緩存的最理想的方案是只讀,特別是需要檢查數百萬行后僅返回數行的復雜查詢。如果你的查詢符合這樣一個特點,開啟查詢緩存會提升你的查詢性能。

隨著技術的進步,經過時間的考驗,MySQL的工程團隊發現啟用緩存的好處并不多。

首先,查詢緩存的效果取決于緩存的命中率,只有命中緩存的查詢效果才能有改善,因此無法預測其性能。

其次,查詢緩存的另一個大問題是它受到單個互斥鎖的保護。在具有多個內核的服務器上,大量查詢會導致大量的互斥鎖爭用。

通過基準測試發現,大多數工作負載最好禁用查詢緩存(5.6的默認設置):query_cache_type = 0

MySQL取消了Query Cache的原因

如果你認為會從查詢緩存中獲得好處,請按照實際情況進行測試。

數據寫的越多,好處越少 緩沖池中容納的數據越多,好處越少 查詢越復雜,掃描范圍越大,則越受益

MySQL8.0取消查詢緩存的另外一個原因是,研究表明,緩存越靠近客戶端,獲得的好處越大。關于這份研究請參考https://proxysql.com/blog/scaling-with-proxysql-query-cache/

下圖源自上面的網址:

MySQL取消了Query Cache的原因

除此之外,MySQL8.0新增加了對性能干預的工具,例如,現在可以利用查詢重寫插件,在不更改應用程序的同時,插入優化器提示語句。另外,還有像ProxySQL這樣的第三方工具,它們可以充當中間緩存。

綜合以上原因,MySQL8.0不再提供對查詢緩存的支持,如果用戶從5.7版本升級至8.0,考慮使用查詢重寫或其他緩存。

全文完。

以上就是MySQL取消了Query Cache的原因的詳細內容,更多關于MySQL Query Cache的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 欧美久久一区二区三区 | 午夜爽| 欧美日韩视频在线 | 极品久久 | 欧洲毛片 | 久久精品亚洲 | 亚洲成人免费 | 91麻豆精品国产91久久久久久久久 | 国产一级片儿 | 中文字幕第90页 | 日韩在线观看视频一区二区三区 | 蜜桃日韩 | 日韩高清国产一区在线 | 国产在线精品一区二区三区 | 99re在线观看 | 热re99久久精品国产99热 | 国产亚洲欧美一区二区 | 九九人人 | 国产精品一区三区 | 久久久精 | 国产精品欧美日韩在线观看 | 日韩欧美国产一区二区 | 久久国产精品免费一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 男人天堂中文字幕 | 91亚洲国产成人久久精品网站 | 免费成人高清 | 999国内精品永久免费视频 | 国产一区二区三区视频在线观看 | 一二三区精品 | 欧美日韩国产影院 | 国产精品一码二码三码在线 | 拍真实国产伦偷精品 | 国产成人精品免费视频大全最热 | 狠狠干狠狠干 | 黄色一级片在线看 | 国产午夜精品一区二区 | 久久久精品一区二区 | 免费xxxx大片国产在线 | 欧美日韩精品在线 | 国产成人精品一区二区三区四区 |