天天看點

MySQL 5.7版本新特性連載(六)

本文是基于MySQL-5.7.7-rc版本,未來可能 還會發生更多變化。

  1. 自動判斷底層I/O裝置是否可以支援原子IO(AIO),檢測到的話,會自動關閉 double write buffer,進一步提升性能。
  2. 支援 innodb_page_cleaners 選項可設定多個page cleaner線程提高髒頁重新整理效率。
  3. 可通過設定 innodb_undo_log_truncate 等選項自動删除不用的 undo log。
  4. 加強InnoDB read-only模式的性能。
  5. 支援一個表上有多個觸發器,這樣一來,原先已有觸發器表也可以支用 pt-osc 了。
  6. 新增 log_syslog 選項,可将MySQL日志列印到系統日志檔案中。
  7. InnoDB和MyISAM引擎的分區表也支援ICP特性。
  8. 支援對線上某個連接配接直接檢視執行計劃,比如 EXPLAIN FOR CONNECTION 1024。
  9. 支援線上(INPLACE)增加 VARCHAR 列的長度。不過 0-255 長度是一個區間,256 以上是另一個區間,不能跨越255這個坎,比如把長度從 100 擴充成 1000(因為 255 長度以内額外用1個位元組表示,大于 255 長度則需要額外2個位元組表示)。另外還不支援線上縮小 VARCHAR 的長度。
  10. 以及更多關于性能上的改善提升,包括用戶端連接配接效率提升、批量資料加載效率提升、sort buffer中存儲的非排序字段是壓縮模式的(提高記憶體使用率)、UNION ALL不再産生臨時表、解析器重構、查詢優化器進一步完善(比如增加可控CBO規則)等等。