《MySQL開發人員對緩存下了一道處決令,槍聲已響!》要點:
本文介紹了MySQL開發人員對緩存下了一道處決令,槍聲已響!,希望對您有用。如果有疑問,可以聯系我們。
多核機器變得很忙碌時,可擴展性就會很糟糕,于是MySQL數據庫的開發人員決定要另謀出路.
MySQL Server的一群開發人員已認定,MySQL的查詢緩存(Query Cache)這項功能現已成了瓶頸,于是果斷終結了該功能.
如果你在網上搜索一下“tuning MySQL query cache”(優化MySQL查詢緩存),看到那么多的結果以及有人提供的五花八門的建議,這則新聞也就并不完全令人驚訝了.
正如MySQL Server的產品經理摩根·托克(Morgan Tocker)在這里(http://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/)撰寫的那樣,問題在于可擴展性.
緩存的操作看起來簡單得很:SELECT(選擇)命令存儲在一個哈希表(又叫散列表,hash table)中;如果入站請求與哈希匹配,服務器就能返回上一次查詢執行的結果(并且有保護機制,那樣服務器不會返回過時陳舊的結果.)
托克寫道,問題在于,“眾所周知,面對多核機器上的高吞吐量工作負載,緩存無法很好地擴展.”
他繼續寫道,就算這個問題能夠得到解決,解決辦法也無法讓查詢緩存的性能變得更易于預測(言外之意就是變得更穩定);對于面向用戶的系統來說,性能的穩定性常常比峰值吞吐量來得更重要.
MySQL Server的一群開發人員已決定“致力于其他更普遍適用于所有工作負載的改進方法”,而不是堅持修復緩存問題.
果真需要緩存機制的開發人員可以使用ProxySQL,升級到MySQL 8.0的其他用戶“將被鼓勵使用服務器端Query Rewrite(查詢重寫).”
原文來自微信公眾號:云頭條
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3753.html