亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL取消了Query Cache的原因

 更新時(shí)間:2020年10月14日 11:59:19   作者:徐軼韜  
這篇文章主要介紹了MySQL取消了Query Cache的原因,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下

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

MySQL查詢緩存是查詢結(jié)果緩存。它將以SEL開(kāi)頭的查詢與哈希表進(jìn)行比較,如果匹配,則返回上一次查詢的結(jié)果。進(jìn)行匹配時(shí),查詢必須逐字節(jié)匹配,例如 SELECT * FROM t1; 不等于select * from t1;,此外,一些不確定的查詢結(jié)果無(wú)法被緩存,任何對(duì)表的修改都會(huì)導(dǎo)致這些表的所有緩存無(wú)效。因此,適用于查詢緩存的最理想的方案是只讀,特別是需要檢查數(shù)百萬(wàn)行后僅返回?cái)?shù)行的復(fù)雜查詢。如果你的查詢符合這樣一個(gè)特點(diǎn),開(kāi)啟查詢緩存會(huì)提升你的查詢性能。

隨著技術(shù)的進(jìn)步,經(jīng)過(guò)時(shí)間的考驗(yàn),MySQL的工程團(tuán)隊(duì)發(fā)現(xiàn)啟用緩存的好處并不多。

首先,查詢緩存的效果取決于緩存的命中率,只有命中緩存的查詢效果才能有改善,因此無(wú)法預(yù)測(cè)其性能。

其次,查詢緩存的另一個(gè)大問(wèn)題是它受到單個(gè)互斥鎖的保護(hù)。在具有多個(gè)內(nèi)核的服務(wù)器上,大量查詢會(huì)導(dǎo)致大量的互斥鎖爭(zhēng)用。

通過(guò)基準(zhǔn)測(cè)試發(fā)現(xiàn),大多數(shù)工作負(fù)載最好禁用查詢緩存(5.6的默認(rèn)設(shè)置):query_cache_type = 0

如果你認(rèn)為會(huì)從查詢緩存中獲得好處,請(qǐng)按照實(shí)際情況進(jìn)行測(cè)試。

  • 數(shù)據(jù)寫(xiě)的越多,好處越少
  • 緩沖池中容納的數(shù)據(jù)越多,好處越少
  • 查詢?cè)綇?fù)雜,掃描范圍越大,則越受益

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

下圖源自上面的網(wǎng)址:

除此之外,MySQL8.0新增加了對(duì)性能干預(yù)的工具,例如,現(xiàn)在可以利用查詢重寫(xiě)插件,在不更改應(yīng)用程序的同時(shí),插入優(yōu)化器提示語(yǔ)句。另外,還有像ProxySQL這樣的第三方工具,它們可以充當(dāng)中間緩存。

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

全文完。

以上就是MySQL取消了Query Cache的原因的詳細(xì)內(nèi)容,更多關(guān)于MySQL Query Cache的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 安裝mysq 5.7.20 解壓版遇到的坑(推薦)

    安裝mysq 5.7.20 解壓版遇到的坑(推薦)

    最近有朋友說(shuō)當(dāng)mysql5.7.20解壓版環(huán)境變量配置好后,根目錄沒(méi)有my.ini 也沒(méi)有 my-default.ini文件,怎么處理這個(gè)問(wèn)題呢,下面小編給大家?guī)?lái)了解決方案,大家可以參考下
    2017-11-11
  • MySql中如何使用 explain 查詢 SQL 的執(zhí)行計(jì)劃

    MySql中如何使用 explain 查詢 SQL 的執(zhí)行計(jì)劃

    explain命令是查看查詢優(yōu)化器如何決定執(zhí)行查詢的主要方法。這篇文章重點(diǎn)給大家介紹MySql中如何使用 explain 查詢 SQL 的執(zhí)行計(jì)劃,感興趣的朋友一起看看吧
    2018-05-05
  • mysql5.7.13.zip安裝教程(windows)

    mysql5.7.13.zip安裝教程(windows)

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.13.zip安裝教程,以及在安裝mysql5.7.13.zip過(guò)程中遇到的問(wèn)題,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL數(shù)據(jù)庫(kù)之表的約束圖文詳解

    MySQL數(shù)據(jù)庫(kù)之表的約束圖文詳解

    在數(shù)據(jù)庫(kù)設(shè)計(jì)中,表約束是保證數(shù)據(jù)完整性、一致性的重要手段,數(shù)據(jù)類(lèi)型本身就是一種基本約束,限制了數(shù)據(jù)的范圍和格式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • mysql+Spring數(shù)據(jù)庫(kù)隔離級(jí)別與性能分析

    mysql+Spring數(shù)據(jù)庫(kù)隔離級(jí)別與性能分析

    數(shù)據(jù)庫(kù)隔離級(jí)別與Spring配置事務(wù)的聯(lián)系及性能影響,以下是個(gè)人理解,如果有瑕疵請(qǐng)及時(shí)指正
    2014-05-05
  • MySQL中使用JSON存儲(chǔ)數(shù)據(jù)的實(shí)現(xiàn)示例

    MySQL中使用JSON存儲(chǔ)數(shù)據(jù)的實(shí)現(xiàn)示例

    本文主要介紹了MySQL中使用JSON存儲(chǔ)數(shù)據(jù)的實(shí)現(xiàn)示例,我們可以在MySQL中直接存儲(chǔ)、查詢和操作JSON數(shù)據(jù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • MySQL UDF調(diào)試方式debugview的相關(guān)方法

    MySQL UDF調(diào)試方式debugview的相關(guān)方法

    MySQL UDF調(diào)試方式debugview的相關(guān)方法...
    2007-07-07
  • MySQL中表鎖和行鎖機(jī)制淺析(源碼篇)

    MySQL中表鎖和行鎖機(jī)制淺析(源碼篇)

    在計(jì)算機(jī)科學(xué)中,鎖是在執(zhí)行多線程時(shí)用于強(qiáng)行限制資源訪問(wèn)的同步機(jī)制,即用于在并發(fā)控制中保證對(duì)互斥要求的滿足,下面這篇文章主要給大家介紹了MySQL中表鎖和行鎖機(jī)制淺析的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 深入分析MySQL Sending data查詢慢問(wèn)題

    深入分析MySQL Sending data查詢慢問(wèn)題

    給大家深入分析一下MySQL Sending data表查詢慢的問(wèn)題,并給出了詳細(xì)的解決方案,一起來(lái)參考下。
    2017-12-12
  • mysql 使用profiling和explain查詢語(yǔ)句性能解析

    mysql 使用profiling和explain查詢語(yǔ)句性能解析

    MySQL 查詢 Profile 可以告訴你每個(gè)查詢花費(fèi)了多長(zhǎng)時(shí)間,使用了多少資源,執(zhí)行了哪些操作等,這篇文章主要介紹了mysql 使用profiling和explain查詢語(yǔ)句性能解析,需要的朋友可以參考下
    2024-02-02

最新評(píng)論