成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 8.0來了,看看有哪些真香特性

數據庫 MySQL
MySQL被Sun收購后,搞了個過渡的6.0版本,沒多久就下線了(有一次居然聽說有人在線上用6.0版本,我驚得下巴都掉了)。被Oracle收購后,終于迎來了像樣的5.6版本,之后就是5.7、8.0版本。這么看來,Sun的衰亡不無道理。

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. 為什么是8.0

作為迄今為止,地表最強的MySQL版本,8.0被寄予厚望。

雖然在很多人眼里,MySQL 8.0無非是有個"好爹",很多新特性是照著Oracle"抄"的。但在我看來,Oracle作為先驅前輩,已經證明了這些技術的優秀之處,有什么理由不借鑒呢,難道非要折騰出一些只為了能自嗨的莫名其妙的特性才叫牛逼,比如只能用觸發器變相實現的表分區功能的某DB?

再說了,即便有個”好爹“,就一定能做好嗎,國民老公不也被限制消費了?

MySQL 8.0無論在功能還是性能(整體上),都是目前最好的MySQL版本。以往因為某些特性不支持,導致需要在業務代碼、邏輯上做一些妥協,甚至增加使用第三方解決方案(例如NOSQL)。

我相信從8.0開始,以后這種情況會越來越少的,MySQL會越來越好,絕大多數和數據庫相關的業務需求,都能在MySQL中完成。當然了,我也相信它不會為了嘩眾取寵,堆砌一些無謂的功能,變成另一個“最好用”的數據庫。

2. MySQL 8.0哪里香

截止本文發稿,MySQL最新版本是8.0.19。下面是站在我個人角度上,認為最香的幾個特性。

2.1 性能優化相關

無疑是hash join。相信DBA們被弱雞開發坑怕了,有了hash join再也不那么怕沒索引的多表join了。還有一個,anti join。hash join剛出來時,我做了個簡單的測試,當時也發了過朋友圈:

 

MySQL 8.0來了,大勢所趨,逆之者亡

 

MySQL 8.0來了,大勢所趨,逆之者亡

 

MySQL 8.0來了,大勢所趨,逆之者亡
  1. 快速加新列。做過游戲DBA的我簡直熱淚盈眶,想想以前早起做變更的苦逼歲月(╥╯^╰╥)
  2. 直方圖。沒有索引,不想建索引,索引不準確?不怕,還有直方圖兜底。
  3. 函數索引、表達式索引,開發者們該愛死這兩個功能了吧。
  4. 消除了全局的buffer pool mutex。話說這個特性Percona好像在5.5版本就有了,官方團隊在這塊的動作慢的有點厲害啊。
  5. 倒序索引。任你正序排,倒序排,還是混合順序排,啥姿勢都能滿足,em...
  6. 不可見索引。刪個索引,想刪又不太敢動手,怎么破?不可見索引來救命。改為不可見后,觀察一陣子,確認沒影響了再放心刪除吧。
  7. 引入WRITESET模式,大大提高并行復制效率,主從復制延遲進一步縮小。
  8. 針對JSON數據類型,增加Multi-valued indexes,更方便JSON的搜索了。
  9. HINT語法增強,更方便在執行查詢時動態設定選項,針對不同SQL采用不同策略。
  10. 有個新的TempTable引擎,比原來的tmptable強不少。
  11. 其他優化。

2.2 管理、復制、安全方面的功能提升

  1. 正式推出Group Relication。很好,在穩步朝著高性能、高可用方向推進,先實現讀可擴展,再實現寫可擴展。期待不遠的將來再實現分布式Sharding,到那時候,現在市面上那些吹得不可一世的NEWSQL們該啞火了,這兩年有點憋屈的說。
  2. Clone Plugin以及ReplicaSet特性,配合MySQL Shell,想要部署一個新的slave實例,或者是InnoDB Cluster節點,就方便很多了。
  3. sqlrequireprimary_key選項設定強制要求每個表都得有個主鍵。在主從環境中,相信太多人吃過沒主鍵的虧了。當然了,我并沒有,嘿。
  4. 實例重啟后的自增ID持久化,小增強卻解決了業務上的邏輯大麻煩。
  5. extra admin port,管理員可以給自己開后門了。
  6. 在線修改完配置參數后,SET PERSIST語法實現持久化,不用再手工修改一次my.cnf了。
  7. 鎖增強,增加SKIP LOCK、NOWAIT LOCK鎖模式,以及BACKUP LOCk。
  8. 窗口函數、CTE。做統計分析同學的福音。
  9. 其他提升。

更多的特性,可以訪問下面幾個資料查看。

  • MySQL 8.0新特性
  • MySQL 8.0相對于5.7的復制改進
  • 從MySQL5.5到MySQL8.0子查詢進化之路

3. 看完了還不想上車?

細心的讀者,或許能發現在官方文檔第一章"Chapter 1 General Information"里頭,有這么一段話:

  • Support for setting user variables in statements other than
  • SET was deprecated in MySQL 8.0.13. This functionality is
  • subject to removal in MySQL 9.0.

嗯,你沒看錯,是的,下一個就是9.0版本,按照經驗,2020年也應該要發布了。

再吼一下,MySQL 8.0來了,高鐵般的速度,再不上車您就直接用9.0吧。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2020-05-28 13:10:27

PHP開發編程

2023-07-26 19:22:04

WiFi 7WiFi 6

2020-10-14 15:00:38

Python 開發編程語言

2017-09-12 16:28:31

MySQLMySQL 8.0.3變化

2022-05-26 12:43:33

canal中間件

2020-10-26 11:00:10

Linux5.10代碼內核

2021-02-20 07:08:44

安卓系統應用安卓12

2022-12-05 11:44:49

PrintDebugIceCream

2009-10-15 08:52:42

Windows 7銷售市場

2023-03-16 19:17:57

2018-08-24 06:13:18

IPv6SDNIPv4

2023-06-28 08:52:36

2018-09-19 16:15:18

MySQL直方圖數據庫

2024-04-03 08:47:58

React服務端組件Actions

2018-03-21 17:50:23

JavaJava 10JIT編譯器

2021-06-21 09:04:36

Windows 11系統設計

2023-10-18 10:10:29

Node.js 21前端

2021-04-19 11:45:31

Pythonswitch編程語言

2021-04-16 15:02:38

Python 開發編程語言

2022-05-02 09:21:25

微信微信支付
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品99| 日韩一区二区在线观看 | 一级爱爱片 | 久久久av| 日韩成人在线观看 | 毛片在线视频 | 欧美国产精品久久久 | jizz在线免费观看 | 性视频一区 | 久久久激情 | 国产95在线| 99热欧美 | 日韩在线免费 | 国产精品视频999 | 国产精品18hdxxxⅹ在线 | 精品区一区二区 | 精品一区二区久久久久久久网站 | 午夜免费视频 | 91成人免费看片 | 久久性av | 91香蕉嫩草 | 亚洲导航深夜福利涩涩屋 | 午夜免费在线 | 国产视频中文字幕 | 免费观看www7722午夜电影 | 男女视频在线免费观看 | 亚洲一区二区三区免费视频 | 久久久久久免费精品一区二区三区 | 蜜月va乱码一区二区三区 | 龙珠z国语版在线观看 | 日韩精品一 | 国产毛片毛片 | 在线伊人 | 久久成人免费视频 | 午夜看片| 久久久久精| 久久久国产一区二区三区四区小说 | 久久久久无码国产精品一区 | 日韩电影中文字幕 | 国产区精品| 日韩欧美三区 |