MySQL 8.0 正式版 8.0.11 發布:比 MySQL 5.7 快 2 倍

2020-11-23 開源中國

MySQL 8.0 正式版 8.0.11 已發布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改進和更快的性能!

注意:從 MySQL 5.7 升級到 MySQL 8.0 僅支持通過使用 in-place 方式進行升級,並且不支持從 MySQL 8.0 降級到 MySQL 5.7(或從某個 MySQL 8.0 版本降級到任意一個更早的 MySQL 8.0 版本)。唯一受支持的替代方案是在升級之前對數據進行備份。

下面簡要介紹 MySQL 8 中值得關注的新特性和改進。

1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面帶來了更好的性能:讀/寫工作負載、IO 密集型工作負載、以及高競爭("hot spot"熱點競爭問題)工作負載

2. NoSQL:MySQL 從 5.7 版本開始提供 NoSQL 存儲功能,目前在 8.0 版本中這部分功能也得到了更大的改進。該項功能消除了對獨立的 NoSQL 文檔資料庫的需求,而 MySQL 文檔存儲也為 schema-less 模式的 JSON 文檔提供了多文檔事務支持和完整的 ACID 合規性。

3. 窗口函數(Window Functions):從 MySQL 8.0 開始,新增了一個叫窗口函數的概念,它可以用來實現若干新的查詢方式。窗口函數與 SUM()、COUNT() 這種集合函數類似,但它不會將多行查詢結果合併為一行,而是將結果放回多行當中。即窗口函數不需要 GROUP BY。

4. 隱藏索引:在 MySQL 8.0 中,索引可以被「隱藏」和「顯示」。當對索引進行隱藏時,它不會被查詢優化器所使用。我們可以使用這個特性用於性能調試,例如我們先隱藏一個索引,然後觀察其對資料庫的影響。如果資料庫性能有所下降,說明這個索引是有用的,然後將其「恢復顯示」即可;如果資料庫性能看不出變化,說明這個索引是多餘的,可以考慮刪掉。

5. 降序索引:MySQL 8.0 為索引提供按降序方式進行排序的支持,在這種索引中的值也會按降序的方式進行排序。

6. 通用表表達式(Common Table Expressions CTE):在複雜的查詢中使用嵌入式表時,使用 CTE 使得查詢語句更清晰。

7. UTF-8 編碼:從 MySQL 8 開始,使用 utf8mb4 作為 MySQL 的默認字符集。

8. JSON:MySQL 8 大幅改進了對 JSON 的支持,添加了基於路徑查詢參數從 JSON 欄位中抽取數據的 JSON_EXTRACT() 函數,以及用於將數據分別組合到 JSON 數組和對象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函數。

9. 可靠性:InnoDB 現在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以實現事務完整性,要麼失敗回滾,要麼成功提交,不至於出現 DDL 時部分成功的問題,此外還支持 crash-safe 特性元數據存儲在單個事務數據字典中。

10. 高可用性(High Availability):InnoDB 集群為您的資料庫提供集成的原生 HA 解決方案。

11. 安全性:對 OpenSSL 的改進、新的默認身份驗證、SQL 角色、密碼強度、授權。

詳細更新說明:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html  
官方發布說明:https://blogs.oracle.com/mysql/announcing-general-availability-of-mysql-80  
MySQL 8 正式版的新增功能:https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/

下載地址

Windows (x86, 64-bit), ZIP Archive(mysql-8.0.11-winx64.zip) 183.3M
https://dev.mysql.com/downloads/file/?id=476233

Windows (x86, 64-bit), ZIP Archive(mysql-8.0.11-winx64-debug-test.zip) 230.5M
Debug Binaries & Test Suite

https://dev.mysql.com/downloads/file/?id=476234

其他版本下載地址 >>> https://dev.mysql.com/downloads/mysql/8.0.html

相關焦點

  • MySQL 8.0 正式版 8.0.11 發布:比 MySQL 5.7 快 2 倍 - OS...
    正式版 8.0.11 已發布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改進和更快的性能!注意:從 MySQL 5.7 升級到 MySQL 8.0 僅支持通過使用 in-place 方式進行升級,並且不支持從 MySQL 8.0 降級到 MySQL 5.7(或從某個 MySQL 8.0 版本降級到任意一個更早的 MySQL 8.0 版本)。唯一受支持的替代方案是在升級之前對數據進行備份。
  • MySQL 5.7 vs 8.0,哪個性能更牛?
    雙1 配置,讀寫模式下,mysql5.7.22 和mysql8.0.15 tps 、qps 性能差不多,mysql8.0.15 在120 線程並發時,性能出現了下降抖動: mysql5.7和mysql8.0 在只讀模式下的表現
  • MySQL8.0窗口函數做數據排名統計詳細教程
    |  6 || 2020010 | mysql   |  75.0 |  7 || 2020009 | mysql   |  70.0 |  8 || 2020006 | mysql   |  60.0 |  9 || 2020002 | mysql   |  50.0 | 10 || 2020007 | mysql   |  50.0 | 11 |+---------+---------+---
  • MySQL 5.7和MySQL 8.0的4個細節差異
    在這些年的MySQL升級需求中,讓我大跌眼鏡的一個現象是:驅動業務從MySQL 5.5升級到MySQL 5.7的很大一個因素是因為JSON這個特性。而讓業務有所顧慮從MySQL 5.7升級到MySQL 8.0的一個主要原因是:驅動版本升級,所以對於MySQL 5.7升級到MySQL 8.0來說,總體的升級動力明顯要低一些,但是規劃的一個優點就是可以把一些工作前置,或者讓它的推行更加順暢,比如我們對於新業務的推行,都是默認按照MySQL 8.0的方案來做。
  • 京東雲正式宣布支持MySQL 8.0
    京東雲正式宣布支持MySQL 8.0 1 月 25 日,京東雲宣布,京東云云資料庫 RDS 在所有地域正式支持 MySQL 8. 0 版本。
  • MySQL 5.0 新特性教程 存儲過程:第四講
    t2 (s1))engine=innodb;//mysql> INSERT INTO t3 VALUES (5);//...7.下一個執行的語句是錯誤處理的語句,@x2被設為2。8.DECLARE CONTINUE HANDLER example  mysql> CALL p23()//Query OK, 0 rows affected (0.00 sec)mysql> SELECT @x, @x2//+------+------+| @x | @x2
  • MySQL 數據校驗工具-愛可生|mysql|perl|伺服器|node01_網易訂閱
    Creating table 'sbtest5'...  Creating table 'sbtest8'...  Creating table 'sbtest1'...  Creating table 'sbtest9'...  Creating table 'sbtest7'...
  • python3.8操作(插入,刪除)mysql/MariaDB資料庫
    01主題大家好,我是義縣遊學電子科技.今天來跟大家說一個工作中常用到的操作,python3.8操作MariaDB資料庫.因為MariaDB屬於mysql分支因此資料庫命令語句都是通用的非常方便.02環境python-3.8 ,64位mairadb-10.4.7,64位python包:mysql-connector-2.2.9
  • Pholcus(幽靈蛛)爬蟲軟體 v1.0 穩定版正式發布
    自2015年5月 Pholcus 發布第一個版本起歷經一年的版本迭代,今日 v1.0 穩定版本終於正式發布了。在此感謝所有關注過Pholcus、反饋過開發建議以及運行bug的朋友們。
  • MySQL8.0新特性CTE(Common Table Expression)
    ,來更新或者刪除其他表,如下:2.4 CTE也可以用於insert ... select 語句2.5 CTE作為提前物化的臨時表定義多個CTE,作為提前物化的臨時表,在主查詢裡面可以多次引用這些臨時表。
  • ClouderaManager6.3.1+CDH6.3.2+PHOENIX-5.0.0集成部署
    >3.7 確認作業系統版本4.CM部署步驟4.1 JDK和MySQL安裝部署(略)4.2 統一hosts文件4.3 確認關閉防火牆4.4 確認關閉selinux4.5 確認ulimit4.6 確認swap交換分區4.7 確認時鐘同步4.8 創建CM Server的資料庫和帳戶4.9 CM Server部署mysql-jdbc
  • canal 1.1.2 發布,阿里 MySQL Binlog 增量訂閱&消費組件
    canal 1.1.2 已發布,更新內容如下:功能新增支持mysql8.0的binlog解析 【BinlogChange(MySQL8
  • MYSQL8.0 hash join中的笛卡爾積關聯的現象解析
    我們準備3個非常簡單的表以及相應的數據,來進行本次實驗,表跟數據如下:create table  t1 ( t1_id varchar(20),t1_name varchar(20) ,t1_addr varchar(20));create table  t2 ( t2_id varchar(20),t2_name varchar(20) ,t2_addr varchar
  • 如何在ubuntu20.04安裝MySQL並修改資料庫密碼
    打開虛擬機,登錄作業系統,輸入命令2、根據命令下面的提示,安裝MySQL客戶端,執行命令sudo apt install mysql-client-core-8.0sudo apt install mysql-client-core-83、再次輸入mysql命令,提示不能連接上mysql server,由提示可知mysql服務端沒有安裝;輸入命令sudo apt-get
  • Mysql(Mariadb)資料庫主從複製
    一、準備工作:1.主從資料庫版本最好一致;2.主從資料庫內數據保持一致;主資料庫(master):192.168.3.91 /CentOS Linux release 7.5.1804 (Core)從資料庫( slave ) :192.168.3.218 /CentOS Linux release 7.5.1804 (Core)
  • DTCC:MySQl核心代碼開發經驗揭示
    /mysql-test-run.pl –gdb sample  MySQL 測試框架參考資源  • The MySQL Test Framwork, Version 2.0  Ø http://dev.mysql.com/doc/mysqltest/2.0/en/index.html  • mysqltest Language Reference
  • MySQL資料庫函數詳解(3)
    (11) object mysql_fetch_field(int result [,int col_num]);    返回結果集中給定列的相關元數據信息,如果沒有這樣的列,則返回假。如果省略col_num,則對mysql_fetch_field()的後繼調用返回結果集後續列的信息。如果不再有剩餘的列。則返回值為假。
  • MySQL如何計算統計redo log大小
    雖然我在這篇博客「MySQL中Redo Log相關的重要參數總結」中介紹了,MySQL 8.0引入了innodb_dedicated_server自適應參數,可基於伺服器的內存來動態設置innodb_buffer_pool_size,innodb_log_file_size和innodb_flush_method。默認情況下,此參數是關閉的。
  • SELinux 與 MySQL-愛可生
    一、簡介SELinux(Secure Enhanced Linux)是一個內核級的安全機制,從 2.6 內核之後,集成到 Linux 內核中。它允許管理員細粒度地定義訪問控制,未經定義的訪問一律禁止。SELinux 有三種工作模式:enforcing:強制模式。任何違反策略的行為都會被禁止,並且產生警告信息。permissive:允許模式。
  • 酷瓜雲課堂(騰訊雲版)v1.2.0 發布,GPL 協議再出發
    版本,此次更新修復了以往版本出現的問題,最主要的是完成了客戶端所需要的 API,以後 H5 移動端,小程序,APP 客戶端就可以陸續的發布了。還有一個重大變化就是使用協議的變更,原來的自定協議變更為常見的 GPL2.0 協議,再也不是網友戲稱的掛羊頭賣狗肉的 「假開源」 了。