1. 程式人生 > >Mysql 8.0 新增特性

Mysql 8.0 新增特性

1. 資料字典
新增了事務型的資料字典,用來儲存資料庫物件資訊
之前,字典資料是儲存在元資料檔案和非事務型表中的

2. 賬號許可權管理
添加了對 “角色” 的支援,角色會對應一套許可權,角色可以被新增、刪除,角色上的許可權也可以進行增刪
可以對使用者賬號新增和刪除角色

3. InnoDB 提升
完善了對自增計數器(auto-increment counter)的管理,例如設定了計數器的初始值,在伺服器重啟後也不會受到影響;執行 ROLLBACK 也不會導致計數器的值被重用

InnoDB memcached 外掛支援在一個查詢中獲取多個key/value對兒,並可以進行範圍查詢

新增了動態配置項 innodb_deadlock_detect,用來禁用死鎖檢查,因為在高併發系統中,當大量執行緒等待同一個鎖時,死鎖檢查會大大拖慢資料庫


所有的InnoDB臨時表會被建立到共享的臨時表空間中

SELECT ... FOR SHARE 和 SELECT ... FOR UPDATE 中支援 NOWAIT、SKIP LOCKED選項,NOWAIT 的作用是,當被請求的行被鎖住時,此語句立即返回;SKIP LOCKED的作用是從結果集中移除被鎖住的行 

4. JSON 提升
新增內聯路徑操作符 ->>,相當於對 JSON_EXTRACT() 的結果集呼叫 JSON_UNQUOTE() 

新增兩個JSON聚合函式:JSON_ARRAYAGG()、 JSON_OBJECTAGG()(相關文章:體驗 Mysql 操作 JSON 文件、體驗 MySQL 8.0 JSON聚合函式)

新加一個工具函式 JSON_PRETTY(),可以對 JSON 進行格式化,提高可讀性

在查詢中使用 order by 對 JSON 值進行排序時,每個值的 sort key 的長度將是可變的,而不再是固定的1K,有兩個好處,1)更高效的使用排序緩衝空間,更多的資料可以在記憶體中,避免不必要的磁碟訪問;2)提高 key 的比較效能 

5. Optimizer 優化器
支援隱藏索引,優化器可以忽略隱藏索引,但隱藏索引是被正常維護的,作用是用來測試無效索引,刪除某索引之前,可以先設定為隱藏索引,確定對系統沒有影響後再刪除,以防刪掉後再次重建(相關文章:MySQL 8.0 新特性 :隱藏索引)

支援降序索引,可以對索引定義 DESC,之前,索引可以被反序掃描,但影響效能,而降序索引就可以高效的完成

相關推薦

Mysql 8.0 新增特性

1. 資料字典新增了事務型的資料字典,用來儲存資料庫物件資訊之前,字典資料是儲存在元資料檔案和非事務型表中的 2. 賬號許可權管理添加了對 “角色” 的支援,角色會對應一套許可權,角色可以被新增、刪除,角色上的許可權也可以進行增刪可以對使用者賬號新增和刪除角色 3.

MySQL 8.0特性

MySQL8.0新特性一、MySQL 8.0中添加的功能1、新的系統字典表 整合了存儲有關數據庫對象信息的事務數據字典,所有的元數據都用InnoDB引擎進行存儲2、支持DDL 原子操作 InnoDB表的DDL支持事務完整性,要麽成功要麽回滾,將DDL操作回滾日誌寫入到data dictionary

MySQL 8.0特性--CTE(二)

上一篇介紹了CTE的基本用法,參考MySQL 8.0新特性--CTE(一),本篇再來介紹一下CTE Recurive遞迴。 1、什麼是CTE Recurive? A recursive common table expression is one having a subquery that refe

MySQL 8.0特性之Windows Function

MySQL8.0開始像Oracle一樣支援視窗函數了,先來跑個SQL,感受一下視窗函式的魅力。 mysql> create table numbers(val int); mysql> insert into numb

MySQL 8.0特性--invisible index

invisible index特點 預設建立的索引都是visible,如果需要invisible索引建立的時候需要指定invisible引數。 預設無法使用invisible index索引,需要開啟引數optimizer_switch='use_invisible_indexes=on'才能使用;

MySQL 8.0特性--Descending Indexes(六)

Descending Indexes降序索引 降序索引主要是用來減少排序,去除filesort的。 MySQL支援降序索引:索引定義中的DESC不再被忽略,而是按降序儲存鍵值。以前,索引可以以相反的順序掃描,但會影響效能。可以按前向順序掃描降序索引,效率更高。當最有效的掃描順序混合了某些列的升序和其他

MySQL 8.0特性--skip scan range access method(七)

先來個示例: mysql> CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1,&nbs

MySQL 8.0特性之原子DDL

  文章來源:愛可生雲資料庫   簡介   MySQL8.0 開始支援原⼦ DDL(atomic DDL),資料字典的更新,儲存引擎操作,寫⼆進位制日誌結合成了一個事務。在沒有原⼦DDL之前,DROP TABLE t

MySQL 8.0特性-資料字典

歡迎關注MySQL 8.0必知必會系列課程。     MySQL8.0必知必會-自動化部署                 https://edu.51c

MySQL 8.0 新增SQL語法對視窗函式和CTE的支援

 嘗試了一下MySQL 8.0的部分新特性。   如果用過MSSQL或者是Oracle中的視窗函式(Oracle中叫分析函式),  然後再使用MySQL 8.0之前的時候,就知道需要在使用視窗函式處理邏輯的痛苦了,雖然純SQL也能實現類似於視窗函式的功能,但是這種SQL在可讀性和以及使用方式上大打折扣,

MySQL 8.0特性之 InnoDB 鎖定讀取選項

文章目錄 鎖定讀取語句 鎖定讀取示例 NOWAIT 和 SKIP LOCKED 選項 原文地址:MySQL 8.0 Reference Manual 鎖定讀取語句 如果在同一個事務中,先查詢資料,然後再插入或修

MySQL 8.0特性之函式索引

文章目錄 原文地址:MySQL 8.0 Reference Manual 通常來說索引使用的是列值或者列值的字首部分。例如,在下表 t1 中,索引包含了欄位 col1 的值,以及欄位 col2 的前 10 個位元組: CREATE TABLE t1 ( co

MySQL 8.0特性之隱藏索引

文章目錄 原文地址:MySQL 8.0 Reference Manual MySQL 8.0 支援隱藏索引(invisible index),也稱為不可見索引。隱藏索引不會被優化器使用。主鍵不能設定為隱藏(包括顯式設定或隱式設定)。 索引預設是可見的(visib

MySQL 8.0特性之原子 DDL

文章目錄 支援的 DDL 語句 原子 DDL 的特性 DDL 語句行為變更 儲存引擎支援 檢視 DDL 日誌 原文地址:MySQL 8.0 Reference Manual MySQL 8.0 開始

MySQL 8.0特性--讓你輕輕鬆鬆找到配置項的位置

前言 我們都知道,MySQL配置項可以從多種方式設定: 1、在配置檔案中定義, 檢視配置路徑: mysqld --verbose --help| grep -A 1 "Default options" /etc/mysql/my.cnf ~/.my.cnf /usr

MySQL 8.0特性之統計直方圖

原文連結:https://mysqlserverteam.com/histogram-statistics-in-mysql/|  概覽MySQL8.0實現了統計直方圖。利用直方圖,使用者可以對一張表的一列做資料分佈的統計,特別是針對沒有索引的欄位。這可以幫助查詢優化器找到更

MySQL 8.0 索引特性2-索引跳躍掃描

where mysq img strong 沒有 優化 聯合 這樣的 oracl MySQL 8.0 實現了Index skip scan,翻譯過來就是索引跳躍掃描。熟悉ORACLE的朋友是不是發現越來越像ORACLE了?再者,熟悉 MySQL 5.

特性解讀 | MySQL 8.0 索引特性4-不可見索引

MySQL 8.0 實現了索引的隱藏屬性。當然這個特性很多商業資料庫早就有了,比如ORACLE,在11g中就實現了。我來介紹下這個小特性。   介紹 INVISIBLE INDEX,不可見索引或者叫隱藏索引。就是對優化器不可見,查詢的時候優化器不會把她作為備選。 其實以前要想徹底

MySQL 8.0.2復制新特性(翻譯)

ogl 防止 將不 地址 arc -- 等待 download 日誌 譯者:知數堂星耀隊 MySQL 8.0.2復制新特性 MySQL 8 正在變得原來越好,而且這也在我們MySQL復制研發團隊引起了一陣熱潮。我們一直致力於全面提升MySQL復制,通過引入新的和一些有趣

mysql 5.6 5.7 8.0特性

對於MySQL的歷史,相信很多人早已耳熟能詳,這裡就不要贅述。下面僅從產品特性的角度梳理其發展過程中的里程碑事件。 1995年,MySQL 1.0釋出,僅供內部使用。 1996年,MySQL 3.11.1釋出,直接跳過了MySQL 2.x版本。 1999年,MySQ