MySQL的最新版本8.0.20正式發行。與之前8.0的系列版本一樣,這次的發行版,除了包含缺陷修復,也同樣包擴新功能。讓我們快速瀏覽一下。
關鍵字:hash join,InnoDB雙寫緩衝,二進位日誌事務壓縮。
-
增加了
SHOW_ROUTINE
權限。使用該權限允許帳戶在最小權限下備份存儲程序。 -
改進hash join。現在可以使用hash join代替BNL,hash join現在支持半連接、反連接、外連接。
-
加入新的索引級別的優化器提示。包括:
JOIN_INDEX
、NO_JOIN_INDEX
、GROUP_INDEX
、NO_GROUP_INDEX
、ORDER_INDEX
、NO_ORDER_INDEX
、INDEX
及NO_INDEX
。新的索引級別的優化器提示可以搭配SELECT
,UPDATE
和DELETE
語句使用,而以往的無法和DELETE
一起使用。 -
Performance Schema改良。為了減少錯誤檢測的內存開銷,Performance Schema放棄了在全局範圍收集會話相關的錯誤統計信息。此外,針對每個線程,帳戶,用戶或主機報告的錯誤摘要中不再包含全局的錯誤信息。
-
SQL語法改良。以前,語句的
INTO
子句SELECT
可能出現在以下兩個位置之一:
現在,INTO
可以出現在SELECT
的最後:
此外,還針對進行 UNION
的INTO
進行了一些更改,下面的語句結果相同:
-
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菜鳥的進化簡史:不忘初心,記工作中踩過的三個坑
美女主持直播,被突發意外打斷!灣區網友卻高喊: 我懂!超甜