MySQL 8.0 DMR 發布,廢棄了 MyISAM 存儲引擎
MySQL 8.0 DMR 發布了,其中具有重大意義的是官方終于廢棄了MyISAM存儲引擎。
主要更新如下:
-
InnoDB存儲數據字典 ,這意味著MyISAM已經可以完全從MySQL數據庫中剝離;
-
Invisible Index ,Inside君對這個特性非常感興趣。因為在生產環境中,可以通過sys庫判斷哪些索引是冗余的。但是要直接刪除冗余索引又擔心會存在一些風險。Invisible Index給了我們很好的選擇;
-
角色表功能 ,官方MySQL終于提供了Role功能。InnoSQL傲嬌的表示我們在5.5就實現了此功能,甚至比MariaDB還要早。要知道在游戲行業,定期密碼修改總是一個令人頭疼的問題,有Role就簡單多了。當然,InnoSQL還可以對Role進行資源控制,不知道8.0實現的怎樣;
-
Cost Model改進 ,優化器能夠感知到頁是否存在緩沖池中。5.7其實已經開放接口,但是不對內存中的頁進行統計,返回都是1.0;
-
直方圖支持 ,MySQL也支持直方圖啦。應該會有更好的執行計劃。海翔兄在 IMG大會 中說到過此特性,聽說性能提升非常不錯;
-
參數持久化 ,繼續與Oracle數據庫靠近,但本身這個特性就是硬需求。話說這些年有多少因為沒有參數持久化導致的坑發生;
-
掃描性能的改進 ,InnoDB全表掃描或范圍查詢性能提升5%~20%。請問之前HT寫的代碼有這么爛?
-
重構BLOB的實現 ,從而提升JSON屬性的更新。個人感覺這方面性能的提升可能會非常大。留個爪,后面進行測試;
-
持久化自增值 ,這些年淘寶、Percona都做過類似的改進。但是官方的修改就是優雅,自增寫redo,一個歷史遺留難題就這么簡單而又優雅的解決了;
-
PS庫添加索引 ,官方宣稱添加了100多個索引。的確,Inside君遇到過很多時候PS庫占用20G內存的場景,這時查詢就會顯得非常不高效。但是內存開銷會不會進一步提升呢?讓我們拭目以待吧;
來自:https://www.oschina.net/news/77072/mysql-8-0-dmr