MySQL 8.0新特性概覽
1.事務性資料字典,完全脫離了MyISAM儲存引擎
真正將資料字典放到了InnoDB中的一些表中,從此不再需要FRM、TRG、PAR檔案啦!Information Schema現在以資料字典表的一個檢視出現。原則上可以完全不需要MyISAM資料表型別了,所有的系統表都可以放到InnoDB之中。
2.SQL角色
角色是一系列許可權的集合。可以建立角色,給某個使用者授予和去除角色。這對於許可權管理很方便。
utf8mb4字符集將成為預設字符集,並支援Unicode 9
預設字符集將從 latin1 改為 utf8mb4,預設定序collation將從latin1_swedish_ci 改為 utf8mb4_800_ci_ai。
3.不可見索引
可以將一些索引設定為不可見,這樣SQL最佳化器就不會用到它,但是它會繼續在後臺保持更新。當有需要時,可以隨時恢復可見。
對二進位制資料可以進行位操作
不僅僅可以對 BIGINT進行位操作,從8.0開始也支援對 [VAR]BINARY/[TINY|MEDIUM|LONG]BLOB進行位操作了。
4.改進了對IPv6和UUID的操作
INET6_ATON() 和 INET6_NTOA() 現在可以進行位操作了,因為INET6_ATON()現在返回的是VARBINARY(16) 資料型別(128位)。改進了UUID操作,引入了三個新的函式 UUID_TO_BIN(), BIN_TO_UUID()和 IS_UUID() 。MySQL並沒有特殊的IPv6和UUID資料型別,而是以VARBINARY(16) 資料型別儲存的。
5.持續性的全域性變數
可以用 SET PERSIST 來設定永續性的全域性變數,即便伺服器重啟也會保持下來。
效能資料庫Performance Schema的改進
比如對效能資料庫增加了100多個索引,可以檢索更快。
6.重構SQL分析器
持續不斷的逐步改進SQL分析器。舊的分析器由於其語法複雜性和自頂向下的分析方式從而有嚴重的限制,導致難以維護和擴充套件。
7.成本模型
InnoDB緩衝區現在可以估算主記憶體快取區中的有多少表和索引,這可以讓最佳化器選擇訪問方式時知道資料是否可以儲存在記憶體中還是必須儲存到磁碟上。
8.直方圖Histograms
透過使用直方圖,使用者或DBA可以對資料分佈進行統計,這可以用於查詢最佳化以尋找最佳化的查詢方案。
9.改進掃描效能
改進了InnoDB範圍查詢的效能,可提升全表查詢和範圍查詢 5-20%的效能。
10.重構BLOB
重構BLOB加速了片段讀取/更新操作,可以加速JSON資料的操作。
11.持久化自增值
InnoDB會持久化保持自增序列的最大值到redo日誌中。這個改進還修復了一個非常老的199號bug。
12.臨時表
取消對壓縮臨時表的支援,並儲存臨時表的後設資料到記憶體中。
從MySQL8.0以後,我們可以發現MySQL做的越來越像Oracle了。
真正將資料字典放到了InnoDB中的一些表中,從此不再需要FRM、TRG、PAR檔案啦!Information Schema現在以資料字典表的一個檢視出現。原則上可以完全不需要MyISAM資料表型別了,所有的系統表都可以放到InnoDB之中。
2.SQL角色
角色是一系列許可權的集合。可以建立角色,給某個使用者授予和去除角色。這對於許可權管理很方便。
utf8mb4字符集將成為預設字符集,並支援Unicode 9
預設字符集將從 latin1 改為 utf8mb4,預設定序collation將從latin1_swedish_ci 改為 utf8mb4_800_ci_ai。
3.不可見索引
可以將一些索引設定為不可見,這樣SQL最佳化器就不會用到它,但是它會繼續在後臺保持更新。當有需要時,可以隨時恢復可見。
對二進位制資料可以進行位操作
不僅僅可以對 BIGINT進行位操作,從8.0開始也支援對 [VAR]BINARY/[TINY|MEDIUM|LONG]BLOB進行位操作了。
4.改進了對IPv6和UUID的操作
INET6_ATON() 和 INET6_NTOA() 現在可以進行位操作了,因為INET6_ATON()現在返回的是VARBINARY(16) 資料型別(128位)。改進了UUID操作,引入了三個新的函式 UUID_TO_BIN(), BIN_TO_UUID()和 IS_UUID() 。MySQL並沒有特殊的IPv6和UUID資料型別,而是以VARBINARY(16) 資料型別儲存的。
5.持續性的全域性變數
可以用 SET PERSIST 來設定永續性的全域性變數,即便伺服器重啟也會保持下來。
效能資料庫Performance Schema的改進
比如對效能資料庫增加了100多個索引,可以檢索更快。
6.重構SQL分析器
持續不斷的逐步改進SQL分析器。舊的分析器由於其語法複雜性和自頂向下的分析方式從而有嚴重的限制,導致難以維護和擴充套件。
7.成本模型
InnoDB緩衝區現在可以估算主記憶體快取區中的有多少表和索引,這可以讓最佳化器選擇訪問方式時知道資料是否可以儲存在記憶體中還是必須儲存到磁碟上。
8.直方圖Histograms
透過使用直方圖,使用者或DBA可以對資料分佈進行統計,這可以用於查詢最佳化以尋找最佳化的查詢方案。
9.改進掃描效能
改進了InnoDB範圍查詢的效能,可提升全表查詢和範圍查詢 5-20%的效能。
10.重構BLOB
重構BLOB加速了片段讀取/更新操作,可以加速JSON資料的操作。
11.持久化自增值
InnoDB會持久化保持自增序列的最大值到redo日誌中。這個改進還修復了一個非常老的199號bug。
12.臨時表
取消對壓縮臨時表的支援,並儲存臨時表的後設資料到記憶體中。
從MySQL8.0以後,我們可以發現MySQL做的越來越像Oracle了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2132843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 8.0 新特性MySql
- Swift 4.1 新特性概覽Swift
- MongoDB 5.0新特性概覽MongoDB
- Flutter Beta 3 新特性概覽Flutter
- MySQL8.0-新特性-DescendingIndexMySqlIndex
- MySQL8.0-新特性彙總MySql
- MySQL 8.0 新特性梳理彙總MySql
- Mysql8.0部分新特性MySql
- MySQL8.0 新特性 top10MySql
- mysql8.0新特性--隱藏索引MySql索引
- 直播回顧| Apache Pulsar 2.10.0 新特性概覽Apache
- MySQL8.0 新特性:Partial Update of LOB ColumnMySql
- MySQL 8.0新特性-倒敘索引 desc indexMySql索引Index
- MySQL8.0新特性-CTE語法支援MySql
- MySQL8.0新特性-臨時表的改善MySql
- MySQL 8.0 18個管理相關的新特性MySql
- MySQL 8.0表空間新特性簡單實驗MySql
- 新特性解讀 | MySQL 8.0 對 UNION 的改進MySql
- 新特性解讀 | MySQL 8.0 多因素身份認證MySql
- 新特性解讀 | MySQL 8.0 新密碼策略(終篇)MySql密碼
- MySQL 8.0 新增特性介紹MySql
- “低程式碼”平臺特性概覽
- 8.0新特性-不可見索引索引
- MySQL 5.6, 5.7, 8.0版本的新特性彙總大全MySql
- MySQL 8.0新特性-並行查詢innodb_parallel_read_threadsMySql並行Parallelthread
- MYSQL8.0特性—無select注入MySql
- MySQL 8.0 20個 InnoDB 及資料字典相關的新特性MySql
- 新特性解讀 | MySQL 8.0錯誤日誌深入過濾(上)MySql
- "三高"Mysql - Mysql備份概覽MySql
- MySQL體系結構概覽MySql
- MySQL 8.0 在關聯式資料庫方面有這些新特性MySql資料庫
- 好程式設計師大資料培訓分享MySQL8.0新特性程式設計師大資料MySql
- 6月書訊 // 新書概覽新書
- VMware vSphere 8.0 Update 3b 釋出下載,新增功能概覽
- MySQL常見的配置引數概覽MySql
- MySQL 8.0特性-自增變數的持久化MySql變數持久化
- Swift 4.2 新特性預覽Swift
- 概覽
- VMware vCenter Server 8.0U3b 釋出下載,新增功能概覽Server