共計 908 個字符,預計需要花費 3 分鐘才能閱讀完成。
本篇文章為大家展示了 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 執行過程;
上述內容就是 MySQL5.7 在 InnoDB 層做的性能優化和新特性有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。