明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MySQL8.0.3 RC版公布的新變化

[摘要]MySQL 8.0.3 即將發(fā)布,一起看看有什么新變化吧MySQL 8.0.3 即將發(fā)布 RC 版本,這預(yù)示著 8.0 版本離 GA 越來越近了。下面分享一下 8.0.3 版本的一些重要新特性、新變...

MySQL 8.0.3 即將發(fā)布,一起看看有什么新變化吧

MySQL 8.0.3 即將發(fā)布 RC 版本,這預(yù)示著 8.0 版本離 GA 越來越近了。

下面分享一下 8.0.3 版本的一些重要新特性、新變化:

  1. 直接廢除 query cache(應(yīng)該只是關(guān)閉入口,自行編譯源碼的話,還能再次啟用)

  2. 查詢優(yōu)化器支持直接在 SQL 中利用 SET_VAR 這個(gè) HINT 語法修改某些會(huì)話級(jí)的選項(xiàng),比如:

    - SELECT /*+ SET_VAR(sort_buffer_size = 16M) */ name FROM people ORDER BY name;

    - INSERT /*+ SET_VAR(foreign_key_checks=OFF) */ INTO t2 VALUES(2);

    (這個(gè)功能超級(jí)實(shí)用啊,直接在 SQL 內(nèi)可以修改了,都不用再寫一個(gè) SQL,而且還擔(dān)心會(huì)影響別人)

  3. 查詢優(yōu)化器現(xiàn)在支持將各個(gè)列統(tǒng)計(jì)結(jié)果直方圖存儲(chǔ)在 column_statistics 數(shù)據(jù)字典中,以便構(gòu)造執(zhí)行計(jì)劃。有了這個(gè)直方圖,就可用于該列和常量的比較判斷

  4. 查詢優(yōu)化器中新增標(biāo)記位 use_invisible_indexes,用于控制在構(gòu)造執(zhí)行計(jì)劃時(shí)是否考慮不可見索引(invisible indexes)因素

  5. InnoDB 新增備份專用鎖,以前 InnoDB 表在線熱備時(shí)若同時(shí)進(jìn)行 DML 可能導(dǎo)致 InnoDB 文件的快照不一致,有了這個(gè)備份鎖就不用擔(dān)心了。備份鎖用法是 LOCK INSTANCE FOR BACKUP、UNLOCK INSTANCE,需要有 BACKUP_ADMIN 權(quán)限

  6. InnoDB 現(xiàn)在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以實(shí)現(xiàn)事務(wù)完整性了,要么失敗回滾,要么成功提交,不至于出現(xiàn) DDL 時(shí)部分成功的問題,此外還支持 crash-safe 特性(這個(gè)功能大贊。

  7. 若是延遲初始化組復(fù)制(GR,Group Replication),也就是在 single-primary 模式下,輔助節(jié)點(diǎn)上可以通過異步復(fù)制通道寫入數(shù)據(jù),這在正常初始化組復(fù)制插件時(shí)是不允許的(Bug #26314756,這是個(gè)內(nèi)部 BUG ID,我們看不到的,別費(fèi)勁了。不過還有萬能的 github 啊,也能看到相關(guān)描述,參見:https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d)

  8. 系統(tǒng)庫 INFORMATION_SCHEMA 中的 FILES、PARTITIONS、REFERENTIAL_CONSTRAINTS 等幾個(gè)視圖被重新實(shí)現(xiàn)了一番(這個(gè)沒說太具體,可能和所有的 DDL 都放入 InnoDB 有關(guān)系,不再使用 FRM 文件存儲(chǔ) DDL 信息)

  9. 由于外鍵約束鎖功能改造,涉及到外鍵約束的父表上的列改名功能將暫時(shí)被禁用一段時(shí)間(估計(jì)過幾個(gè)小版本就能正常用了)

  10. InnoDB 通用表空間新增改名語法:ALTER TABLESPACE ... RENAME TO(作為 MySQL DBA,貌似沒什么人玩通用表空間,可能從 Oracle DBA 轉(zhuǎn)過來更習(xí)慣使用吧)

  11. MySQL 復(fù)制的 slave 節(jié)點(diǎn)上,log_slave_updates 選項(xiàng)默認(rèn)值改為 ON(這個(gè)也是比較實(shí)用,方便將該 slave 直接作為中繼節(jié)點(diǎn)使用)

  12. 選項(xiàng) sql_log_bin 的全局作用域被改成回話級(jí)作用域,也就是修改本選項(xiàng)只影響本會(huì)話,不再影響全局(這個(gè)選項(xiàng)一般也是在會(huì)話級(jí)使用)

  13. 選項(xiàng) max_allowed_packet 的默認(rèn)值從 4M 提高到 64M(這個(gè)貌似比較實(shí)在)

  14. 選項(xiàng) event_scheduler 的默認(rèn)值由 OFF 改成 ON,使得默認(rèn)啟用 event scheduler 功能(我覺得 event 功能挺好的呀,不過貌似沒幾個(gè)人使用 event)

  15. 選項(xiàng) max_error_count 的默認(rèn)值從 64 提高到 1024(沒感覺的說)

  16. 最后一個(gè),utf8mb4 字符集增加俄語的校驗(yàn)集(新增 utf8mb4_ru_0900_ai_ci、utf8mb4_ru_0900_as_cs 兩種 collations set)

一起期待 8.0.3 的發(fā)布吧!

以上就是MySQL8.0.3 RC版發(fā)布的新變化的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。