MySQL8.0.20 正式發行(GA)

楊建榮的學習筆記 發佈 2020-04-28T20:20:26+00:00

與之前8.0的系列版本一樣,這次的發行版,除了包含缺陷修復,也同樣包擴新功能。MySQL8.0.19開始,通過X協議連接發送的消息已支持壓縮。

MySQL的最新版本8.0.20正式發行。與之前8.0的系列版本一樣,這次的發行版,除了包含缺陷修復,也同樣包擴新功能。讓我們快速瀏覽一下。

關鍵字:hash joinInnoDB雙寫緩衝二進位日誌事務壓縮

  • 增加了SHOW_ROUTINE權限。使用該權限允許帳戶在最小權限下備份存儲程序。

  • 改進hash join。現在可以使用hash join代替BNL,hash join現在支持半連接、反連接、外連接。

  • 加入新的索引級別的優化器提示。包括:JOIN_INDEXNO_JOIN_INDEXGROUP_INDEXNO_GROUP_INDEXORDER_INDEXNO_ORDER_INDEXINDEXNO_INDEX。新的索引級別的優化器提示可以搭配SELECTUPDATEDELETE語句使用,而以往的無法和DELETE一起使用。

  • Performance Schema改良。為了減少錯誤檢測的內存開銷,Performance Schema放棄了在全局範圍收集會話相關的錯誤統計信息。此外,針對每個線程,帳戶,用戶或主機報告的錯誤摘要中不再包含全局的錯誤信息。

  • SQL語法改良。以前,語句的INTO子句SELECT可能出現在以下兩個位置之一:

現在,INTO可以出現在SELECT的最後:

此外,還針對進行 UNIONINTO進行了一些更改,下面的語句結果相同:

  • X Plugin改良。在啟動中創建管理會話,以供達到客戶端連接限制時獲取伺服器配置。初始化後立即可以訪問MySQL系統變量等缺陷修復。

  • BLOB類型排序改變。改變了以往的非完整排序,伺服器將BLOB類型轉換為打包的插件進行排序,經測試,性能得到顯著提升。

  • InnoDB改良。雙寫緩衝區的存儲從系表空間移至雙寫文件。將雙寫緩衝區存儲區移出系統表空間可減少寫延遲,增加吞吐量並在雙寫緩衝區頁的放置方面提供靈活性。

  • 二進位日誌事務壓縮。從MySQL 8.0.20開始,您可以在MySQL伺服器實例上啟用二進位日誌事務壓縮。啟用二進位日誌事務壓縮後,將使用zstd算法壓縮事務有效負載,然後將其作為單個事件(Transaction_payload_event)寫入伺服器的二進位日誌文件 。壓縮後的事務有效負載在複製流中發送到從伺服器,其他群組複製組成員或客戶端(例如mysqlbinlog)時,保持壓縮狀態 。它們不會被接收器線程解壓縮,並且仍以其壓縮狀態寫入中繼日誌。因此,二進位日誌事務壓縮既可以節省事務的始發者,也可以節省接收者(及其備份)的存儲空間,並在伺服器實例之間發送事務時節省網絡帶寬。

  • CHANGE MASTER TO語句的新選項REQUIRE_TABLE_PRIMARY_KEY_CHECK使複製的從伺服器可以選擇自己的策略來進行主鍵檢查。

  • MySQL 8.0.19開始,通過X協議連接發送的消息已支持壓縮。MySQL 8.0.19開始,通過X協議連接發送的消息已支持壓縮。在MySQL 8.0.19中,X協議對每種算法使用庫默認壓縮級別,客戶端無法協商該默認壓縮級別。從MySQL 8.0.20開始,客戶端可以在協商期間為X協議連接請求特定的壓縮級別。

上面內容為MySQL8.0.20的新功能快速一覽,您可以訪問MySQL的在線手冊獲取完整的最新信息。https://dev.mysql.com/doc/relnotes/mysql/8.0/en/

歡迎關注「MySQL解決方案工程師」!

  • 去IOE or Not?

  • 拉里·佩奇(Larry Page)的偉大歸來

  • 《吊打面試官》系列-Redis基礎

  • 唯一ID生成算法剖析,看看這篇就夠了

  • 關於大數據運維能力的一些思考

  • DBA菜鳥的進化簡史:不忘初心,記工作中踩過的三個坑

  • 美女主持直播,被突發意外打斷!灣區網友卻高喊: 我懂!超甜

關鍵字: