首頁  >  文章  >  資料庫  >  MYSQL8有什麼新功能

MYSQL8有什麼新功能

PHPz
PHPz轉載
2023-05-31 23:52:241202瀏覽

最大的變化在於MYSQL 8相較於MYSQL 5.7,資料字典的原子性已得到保證。每當進行資料表的DDL操作時,總是會有些令人恐慌的感覺,因為不再能依賴FRM和Idb檔了。在這些改變中,有一個重要的變化是被稱為「序列化字典資訊」

之前MYSQL 5.X有一個工具集,其中可以透過mysqlfrm (透過PYTHON)撰寫的工具集來在MYSQL 停機的狀態下讀取FRM 文件,並展示出表格的結構。而MYSQL 8 將不再有這樣的東西,而且工具集其實也早就下線了,所以MYSQL 8 推出了新的方式來讀取資料的格式檔。

這個工具就是ibd2sdi

我們可以透過ibd2sdi來在系統啟動的情況下,來讀取資料的表結構,並輸

出成json格式。

MYSQL8有什麼新功能

在MYSQL 8 中字典表將無法進行查看,如果需要查看則在編譯MYSQL時需要添加debug參數,並且需要執行特殊的命令來進行資料的查看。

為什麼要這樣乾,主要的原因是原先的MYSQL 5.x 的字典表難以擴展,並且不具有一致性,而MYSQL8 則改掉這個問題,將資料字典以SDI的方式以JSON的方式進行儲存。

透過工具我們初步看到了SDI 的訊息,但具體SDI 帶來了什麼

#1  進行DDL 操作時,由於非交易儲存造成的非一致性

# 2  當DDL 操作失敗時可以安全的Crash 

3  避免了複製是具有挑戰性的問題因為DDL 不具有原子性

#4  表結構的擴展困難的問題

5  新增了SDI 的cache,透過新增了元資料metadata的cache來加速資料的查詢,透過LRU的方式來管理相關CACHE

MYSQL8有什麼新功能

##同時這樣做也是有弊端的,就是DDL 時可能需要更多的時間,因為他要重新寫入存儲,undo log , redo log 而不再是直接寫入到frm檔了

MYSQL8有什麼新功能

上圖也是8.0新增的功能,以前我們讀取表的status  是直接進行讀取的,而mysql 8.014後的版本,添加上面的參數,讀取的表的status是去讀取緩存,而要刷新緩存,可以通過上的挑戰過期時間或analyze table.

以上是MYSQL8有什麼新功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除