MySQL5.7在InnoDB層做的一些效能優化和新的特性
效能優化:
事務:事務物件池;優化讀寫事務連結串列掃描為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執行過程;
事務:事務物件池;優化讀寫事務連結串列掃描為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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL5.7新版本的運維,效能和新特性介紹MySql運維
- 效能優化-合成層優化
- 利用React 16.6新特性優化應用效能React優化
- ORACLE 12C 優化器的一些新特性總結(二)Oracle優化
- ORACLE 12C 優化器的一些新特性總結(一)Oracle優化
- iOS圖層效能優化iOS優化
- PHP8引入了一些重大變更,有哪些新特性與效能優化?PHP優化
- 《MySQL 效能優化》之 InnoDB 儲存引擎MySql優化儲存引擎
- 【Mysql】mysql5.7新特性之-sys schema的作用MySql
- 聊聊Linux效能優化特性Tuned和ktuneLinux優化
- AndroidAPP效能優化的一些思考AndroidAPP優化
- 關於效能優化的一些實踐優化
- JS 一些優化效能的小細節JS優化
- ORACLE SQL 效能優化的一些建議OracleSQL優化
- MySQL5.7新特性之備份工具mysqlpump的使用MySql
- 【面經】面試官:做過效能優化的工作嗎?你會從哪些方面入手做效能優化呢?面試優化
- [譯] JavaScript 是如何工作的:深入網路層 + 如何優化效能和安全JavaScript優化
- Laravel 8 的一些新特性Laravel
- Python 3.7 正式釋出, 大量新特性和優化Python優化
- 我在專案中對 MySQL 做的優化MySql優化
- Android效能優化一些方法Android優化
- 資料庫效能優化的一些總結(1)資料庫優化
- C++14的一些新特性C++
- Oracle Freelist和HWM的效能優化Oracle優化
- CSS的三大特性(繼承、層疊和優先順序)CSS繼承
- **Mysql5.7新特性之—– 淺談Sys庫**MySql
- JavaScript是如何工作的: CSS 和 JS 動畫底層原理及如何優化它們的效能JavaScriptCSSJS動畫優化
- React Native如何做效能優化React Native優化
- 【Mysql】mysql5.7新特性之-並行複製實現原理與調優MySql並行
- 在Oracle 10g和9i上對於開發者一些新的特性的總結Oracle 10g
- mysql的innodb和myisam的dml效能對比MySql
- Laravel 5.8 新特性和新變化 — 影片Laravel
- 測量、基線和效能優化之三:基於測量、基線和變化的效能優化優化
- 【效能優化】CBO,RBO在ORACLE中的應用優化Oracle
- 【效能優化】dbms_stats在ORACLE中的使用優化Oracle
- Flutter的效能優化Flutter優化
- CCSpriteBatchNode的優化效能BAT優化
- 談談程式碼效能優化中的一些小細節優化