MySQL 8.0.0開(kāi)發(fā)里程碑版發(fā)布!
MySQL 開(kāi)發(fā)團(tuán)隊(duì)于 12 日宣布 MySQL 8.0.0 開(kāi)發(fā)里程碑版本(DMR)發(fā)布! 可能有人會(huì)驚奇 MySQL 為何從 5.x 一下跳躍到了 8.0。事實(shí)上,MySQL 5.x 系列已經(jīng)延續(xù)了很多年,從被 Oracle 收購(gòu)之前就是 5.1,而收購(gòu)之后一直維持在 5.x,比如 5.5,5.6,5.7 等等。其實(shí),如果按照原本的發(fā)布節(jié)奏,可以把 5.6.x 當(dāng)成 6.x,5.7.x 當(dāng)成 7.x。所以,只是換了版本命名方式而已。
不過(guò)這次發(fā)布的 MySQL 8.0.0 開(kāi)發(fā)版本還是有不少亮點(diǎn)的。
MySQL 8.0.0 亮點(diǎn)
事務(wù)性數(shù)據(jù)字典,完全脫離了 MyISAM 存儲(chǔ)引擎
真正將數(shù)據(jù)字典放到了 InnoDB 中的一些表中,從此不再需要 FRM、TRG、PAR 文件啦!Information Schema 現(xiàn)在以數(shù)據(jù)字典表的一個(gè)視圖出現(xiàn)。原則上可以完全不需要 MyISAM 數(shù)據(jù)表類型了,所有的系統(tǒng)表都可以放到 InnoDB 之中。
SQL 角色
角色是一系列權(quán)限的集合。可以創(chuàng)建角色,給某個(gè)用戶授予和去除角色。這對(duì)于權(quán)限管理很方便。
utf8mb4 字符集將成為默認(rèn)字符集,并支持 Unicode 9
默認(rèn)字符集將從 latin1 改為 utf8mb4,默認(rèn)定序 collation 將從 latin1_swedish_ci 改為 utf8mb4_800_ci_ai。
不可見(jiàn)索引
可以將一些索引設(shè)置為不可見(jiàn),這樣 SQL 優(yōu)化器就不會(huì)用到它,但是它會(huì)繼續(xù)在后臺(tái)保持更新。當(dāng)有需要時(shí),可以隨時(shí)恢復(fù)可見(jiàn)。
對(duì)二進(jìn)制數(shù)據(jù)可以進(jìn)行位操作
不僅僅可以對(duì) BIGINT 進(jìn)行位操作,從 8.0 開(kāi)始也支持對(duì) [VAR]BINARY/[TINYMEDIUMLONG]BLOB 進(jìn)行位操作了。
改進(jìn)了對(duì) IPv6 和 UUID 的操作
INET6_ATON () 和 INET6_NTOA () 現(xiàn)在可以進(jìn)行位操作了,因?yàn)?INET6_ATON ()現(xiàn)在返回的是 VARBINARY (16) 數(shù)據(jù)類型(128 位)。改進(jìn)了 UUID 操作,引入了三個(gè)新的函數(shù) UUID_TO_BIN (), BIN_TO_UUID ()和 IS_UUID () 。MySQL 并沒(méi)有特殊的 IPv6 和 UUID 數(shù)據(jù)類型,而是以 VARBINARY (16) 數(shù)據(jù)類型保存的。
持續(xù)性的全局變量
可以用 SET PERSIST 來(lái)設(shè)置持久性的全局變量,即便重啟也會(huì)保持下來(lái)。
性能數(shù)據(jù)庫(kù) Performance Schema 的改進(jìn)
比如對(duì)性能數(shù)據(jù)庫(kù)增加了 100 多個(gè)索引,可以檢索更快。
重構(gòu) SQL 分析器
持續(xù)不斷的逐步改進(jìn) SQL 分析器。舊的分析器由于其語(yǔ)法復(fù)雜性和自頂向下的分析方式從而有嚴(yán)重的限制,導(dǎo)致難以維護(hù)和擴(kuò)展。
成本模型
InnoDB 緩沖區(qū)現(xiàn)在可以估算主內(nèi)存緩存區(qū)中的有多少表和索引,這可以讓優(yōu)化器選擇訪問(wèn)方式時(shí)知道數(shù)據(jù)是否可以存儲(chǔ)在內(nèi)存中還是必須存儲(chǔ)到磁盤上。
直方圖 Histograms
通過(guò)使用直方圖,用戶或 DBA 可以對(duì)數(shù)據(jù)分布進(jìn)行統(tǒng)計(jì),這可以用于查詢優(yōu)化以尋找優(yōu)化的查詢方案。
改進(jìn)掃描性能
改進(jìn)了 InnoDB 范圍查詢的性能,可提升全表查詢和范圍查詢 5-20% 的性能。
重構(gòu) BLOB
重構(gòu) BLOB 加速了片段讀取/更新操作,可以加速 JSON 數(shù)據(jù)的操作。
持久化自增值
InnoDB 會(huì)持久化保持自增序列的最大值到 redo 日志中。這個(gè)改進(jìn)還修復(fù)了一個(gè)非常老的 199 號(hào) bug。
臨時(shí)表
取消對(duì)壓縮臨時(shí)表的支持,并存儲(chǔ)臨時(shí)表的元數(shù)據(jù)到內(nèi)存中。
其它的更多重要改進(jìn)和細(xì)節(jié),請(qǐng)參考 MySQL 8.0.0 發(fā)布公告[1]和[2] 。
下載
目前 8.0.0 還是開(kāi)發(fā)版本,如果你希望體驗(yàn)和測(cè)試最新特性,可以從 dev.mysql.com[3] 下載各個(gè)平臺(tái)的安裝包。不過(guò),MySQL 軟件包是越來(lái)越大了,Linux 平臺(tái)上的二進(jìn)制打包后就將近有 1 GB。如果在產(chǎn)品環(huán)境中使用,在 8.0 沒(méi)有進(jìn)入穩(wěn)定版本之前,請(qǐng)繼續(xù)使用 5.7 系列,當(dāng)前最新的版本是 5.7.15 GA 版本——這只有 600 M 多。
最新的源代碼放在GitHub 上,感興趣的朋友可以去看看,其中有不少是中國(guó)人的貢獻(xiàn)。
[1]: http://dev.mysql.com/doc/relnotes/mysql/8.0/en/
[2]: http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/
[3]: http://dev.mysql.com/downloads/mysql/
相關(guān)文章
非常實(shí)用的MySQL函數(shù)全面總結(jié)詳解示例分析教程
這篇文章主要為大家介紹了非常實(shí)用的MySQL函數(shù)的詳解示例分析,文中全面的概括了MySQL函數(shù),并進(jìn)行了詳細(xì)的示例講解,有需要的朋友可以借鑒參考下2021-10-10mysql?復(fù)制行數(shù)據(jù)命令經(jīng)驗(yàn)分享(Mysql?復(fù)制一條數(shù)據(jù))
有時(shí)候表里有一行已經(jīng)添加好的數(shù)據(jù),想要多復(fù)制幾百條用來(lái)測(cè)試比如要分頁(yè)測(cè)試等,需要多條數(shù)據(jù),但是有時(shí)候數(shù)據(jù)表字段太多了,有幾十個(gè),一個(gè)一個(gè)手寫那是不可能的2023-09-09MySQL在關(guān)聯(lián)復(fù)雜情況下所能做出的一些優(yōu)化
這篇文章主要介紹了MySQL在關(guān)聯(lián)復(fù)雜情況下所能做出的一些優(yōu)化,作者通過(guò)添加索引來(lái)不斷優(yōu)化查詢時(shí)間,需要的朋友可以參考下2015-05-05mysql unique option prefix myisam_recover instead of myisam-
Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead2016-05-05innodb存儲(chǔ)引擎修改表共享空間為獨(dú)立空間
最近在優(yōu)化mysql innodb存儲(chǔ)引擎,把共享表空間轉(zhuǎn)換成獨(dú)立表空間,下面是詳細(xì)步驟2014-01-01MySQL中的行級(jí)鎖、表級(jí)鎖、頁(yè)級(jí)鎖
這篇文章主要介紹了MySQL中的行級(jí)鎖、表級(jí)鎖、頁(yè)級(jí)鎖,以及分享了多種避免死鎖的方法,感興趣的小伙伴們可以參考一下2016-01-01MySQL如何對(duì)數(shù)據(jù)進(jìn)行排序圖文詳解
我們知道從MySQL表中使用SQL SELECT語(yǔ)句來(lái)讀取數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL如何對(duì)數(shù)據(jù)進(jìn)行排序的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實(shí)例詳解
這篇文章主要介紹了mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03解決mac使用homebrew安裝MySQL無(wú)法登陸問(wèn)題
如果你電腦是Mac的,使用homebrew安裝MySQL是一個(gè)非常便捷的方式,但是還是會(huì)出現(xiàn)一些問(wèn)題。下面通過(guò)本文給大家介紹解決mac使用homebrew安裝MySQL無(wú)法登陸問(wèn)題,需要的朋友可以參考下2017-03-03