MySQL 8.0.20 穩定版已於4月27日發佈

現在已不贊成 使用VALUES()來訪問INSERT ... ON DUPLICATE KEY UPDATE語句中的新行值 ,並且在將來的MySQL版本中可能會刪除該用法。相反,您應該爲新行及其列使用​​別名,如MySQL 8.0.19及更高版本中所實現。

-- 例如,此處顯示的語句 VALUES()用於訪問新的行值:

INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6)
  ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);
-- 此後,您應該改爲使用類似於以下內容的語句,該語句爲新行使用別名:

INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) AS new
  ON DUPLICATE KEY UPDATE c = new.a+new.b;
-- 或者,您可以爲新行及其每一列都使用別名,如下所示:

INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) AS new(m,n,p)
  ON DUPLICATE KEY UPDATE c = m+n;

--------------------------------------------

InnoDB:改進了 競爭感知事務調度(CATS)算法,該算法優先考慮等待鎖的事務。現在,事務調度權重計算完全在單獨的線程中執行,從而提高了計算性能和準確性。

刪除了也用於事務調度的先進先出(FIFO)算法。CATS算法的增強使FIFO算法變得多餘。以前由FIFO算法執行的事務調度現在由CATS算法執行。

TRX_SCHEDULE_WEIGHT在INFORMATION_SCHEMA.INNODB_TRX 表中添加了 一個列 ,該列允許查詢由CATS算法分配的事務調度權重。

INNODB_METRICS添加了 以下計數器來監視代碼級事務調度事件:

             lock_rec_release_attempts

        嘗試釋放記錄鎖定的次數。

             lock_rec_grant_attempts

        授予記錄鎖定的嘗試次數。

             lock_schedule_refreshes

        分析等待圖表以更新交易計劃權重的次數。

-------------------------------------------------

InnoDB: 雙寫緩衝區的存儲區已從系統表空間移至雙寫文件。將雙寫緩衝區存儲區移出系統表空間可減少寫延遲,增加吞吐量並在雙寫緩衝區頁的放置方面提供靈活性。爲高級雙寫緩衝區配置引入了以下系統變量:

      innodb_doublewrite_dir

定義雙寫緩衝區文件目錄。

      innodb_doublewrite_files

定義雙寫文件的數量。

      innodb_doublewrite_pages

定義批量寫入時每個線程的最大雙寫頁數。

      innodb_doublewrite_batch_size

定義要批量寫入的雙寫頁面數。
---------------------------------------------

EXPLAIN ANALYZE現在可以使用KILL QUERY或 CTRL-C在執行期間停止 。

EXPLAIN FORMAT=TREE現在顯示inversion 窗口功能的信息。

EXPLAIN FORMAT=TREE輸出已得到改進,以提供有關評估的窗口函數的更多信息,並與爲常規聚合提供的信息相匹配。

EXPLAIN ANALYZE現在支持該 FORMAT選項。當前 TREE是唯一受支持的格式。
---------------------------------------------

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

使用binlog_transaction_compression系統變量(默認爲OFF)在MySQL服務器實例上啓用二進制日誌事務壓縮。還可以使用binlog_transaction_compression_level_zstd系統變量來設置用於壓縮的zstd算法的級別。此值確定壓縮工作量,從1(最小工作量)到22(最大工作量)。

---------------------------------------------

修正了多個BUG和影響性能的代碼實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章