共計 1429 個字符,預計需要花費 4 分鐘才能閱讀完成。
這期內容當中丸趣 TV 小編將會給大家帶來有關 MySQL 8.0 有哪些新特性,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
MySQL 被 Sun 收購后,搞了個過渡的 6.0 版本,沒多久就下線了 (有一次居然聽說有人在線上用 6.0 版本,我驚得下巴都掉了)。被 Oracle 收購后,終于迎來了像樣的 5.6 版本,之后就是 5.7、8.0 版本。這么看來,Sun 的衰亡不無道理。
P.S,上面說了 6.0 版本號已被用過,7.x 系列版本專用于 NDB Cluster,因而新版本號從 8.0 開始。
剛被 Oracle 收購時,大家恐慌的不行,貌似還甚至搞了個聯合簽名請愿活動來著,可惜真的是應了那句話“天下大勢, 浩浩湯湯, 順之者昌, 逆之者亡”。
創始人 Monty 又折騰了 MariaDB,可惜也是不溫不火的。MySQL 8.0 發布后,MariaDB 宣布不打算繼續合并 InnoDB 引擎,這下就更尷尬了,以后還能愉快的玩耍了嗎? 這兩年 Monty 老先生還時不時來中國露個臉,但似乎有那么一丟丟變味了。
閑話少說,一起來看看 8.0 都有哪些特性吧。
1.1 性能優化相關
快速加新列。做過游戲 DBA 的我簡直熱淚盈眶,想想以前早起做變更的苦逼歲月 (╥╯^╰╥)
直方圖。沒有索引,不想建索引,索引不準確? 不怕,還有直方圖兜底。
函數索引、表達式索引,開發者們該愛死這兩個功能了吧。
消除了全局的 buffer pool mutex。話說這個特性 Percona 好像在 5.5 版本就有了,官方團隊在這塊的動作慢的有點厲害啊。
倒序索引。任你正序排,倒序排,還是混合順序排,啥姿勢都能滿足,em…
不可見索引。刪個索引,想刪又不太敢動手,怎么破? 不可見索引來救命。改為不可見后,觀察一陣子,確認沒影響了再放心刪除吧。
引入 WRITESET 模式,大大提高并行復制效率,主從復制延遲進一步縮小。
針對 JSON 數據類型,增加 Multi-valued indexes,更方便 JSON 的搜索了。
HINT 語法增強,更方便在執行查詢時動態設定選項,針對不同 SQL 采用不同策略。
有個新的 TempTable 引擎,比原來的 tmptable 強不少。
其他優化。
1.2 管理、復制、安全方面的功能提升
正式推出 Group Relication。很好,在穩步朝著高性能、高可用方向推進,先實現讀可擴展,再實現寫可擴展。期待不遠的將來再實現分布式 Sharding,到那時候,現在市面上那些吹得不可一世的 NEWSQL 們該啞火了,這兩年有點憋屈的說。
Clone Plugin 以及 ReplicaSet 特性,配合 MySQL Shell,想要部署一個新的 slave 實例,或者是 InnoDB Cluster 節點,就方便很多了。
sqlrequireprimary_key 選項設定強制要求每個表都得有個主鍵。在主從環境中,相信太多人吃過沒主鍵的虧了。當然了,我并沒有,嘿。
實例重啟后的自增 ID 持久化,小增強卻解決了業務上的邏輯大麻煩。
extra admin port,管理員可以給自己開后門了。
在線修改完配置參數后,SET PERSIST 語法實現持久化,不用再手工修改一次 my.cnf 了。
鎖增強,增加 SKIP LOCK、NOWAIT LOCK 鎖模式,以及 BACKUP LOCk。
窗口函數、CTE。做統計分析同學的福音。
上述就是丸趣 TV 小編為大家分享的 MySQL 8.0 有哪些新特性了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。