MySQL5.7在InnoDB層做的一些效能優化和新的特性

chenfeng發表於2016-06-13
效能優化:
事務:事務物件池;優化讀寫事務連結串列掃描為Memcpy; 移除只讀事務連結串列;Cache Read view; 隱式鎖轉換優化以減少大鎖持有時間; 事務優先順序;
臨時表:獨立臨時表表空間;獨立undo;不記錄redo; 不做fsync; 使用innoDB臨時表作為優化器的中間結果表
Buffer Pool: 多個page cleaner執行緒;更高效的flush策略;
Redo Log: 通過padding修復read-on-write的問題;預設CRC32 checksum; 增加日誌格式的版本資訊;
Memcached: 修復一系列的效能瓶頸
索引鎖,增加SX鎖型別,允許索引分裂時的讀負載;
TRUNCATE操作通過檔案日誌保證原子性
Index Rename及修改varchar長度可以立刻完成
自底向上的索引建立,效率更高
AHI分割槽

新特性:
分割槽表: 下推到引擎層,可以減少記憶體分配,併為未來的併發查詢、外來鍵和全文索引支援打下基礎; 支援IMPORT/EXPORT
General tablespace: 支援多個表儲存到一個Ibd檔案中
Buffer pool: 可以線上resize
Undo: 在開啟獨立undo表空間時,支援undo檔案的truncate操作
更大的page size,開始支援32k及64k的page
Spatial Index/GIS:支援更完整的GIS特性;InnoDB R-TREE實現
Virtual Column: 支援虛擬列及在虛擬列上建立索引
資料檔案加密
全文索引: 對中文更友好的分詞外掛
其他: transparent page compression; Sandisk/FusionIO Atomic Writes; 允許更大的index prefix
Performance schema: 監控記憶體分配;監控DDL執行過程;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2119672/,如需轉載,請註明出處,否則將追究法律責任。

相關文章