MySQL 8.0.20 GA 發布
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
可能出現在以下兩個位置之一:SELECT * INTO OUTFILE ‘file_name’ FROM table_name;SELECT * FROM table_name INTO OUTFILE ‘file_name’ FOR UPDATE;現在,INTO
可以出現在SELECT
的最後:SELECT * FROM table_name FOR UPDATE INTO OUTFILE ‘file_name’;此外,還針對進行UNION
的INTO
進行了一些更改,下面的語句結果相同:… UNION SELECT * FROM table_name INTO OUTFILE ‘file_name’;… UNION (SELECT * FROM table_name) INTO OUTFILE ‘file_name’;… UNION SELECT * INTO OUTFILE ‘file_name’ FROM table_name;… UNION (SELECT * INTO OUTFILE ‘file_name’ FROM table_name); - 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/news-8-0-20.html