您好,登錄后才能下訂單哦!
這篇文章主要介紹“MYSQL8有什么新功能”,在日常操作中,相信很多人在MYSQL8有什么新功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MYSQL8有什么新功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
MYSQL 8 與MYSQL 5.7之間的變動中,最大的一個變動就是數據字典的原子性得到了保證。再也不是FRM 文件和Idb文件,在進行數據表的DDL部分操作中,總有那么些恐慌。而其中重大的改變其中有一條叫 Serialized Dicitionary information.
之前MYSQL 5.X有一個工具集,其中可以通過mysqlfrm (通過PYTHON)撰寫的工具集來在MYSQL 停機的狀態下讀取FRM 文件,并展示出表的結構。而MYSQL 8 將不再有這樣的東西,并且工具集其實也早就下線了,所以MYSQL 8 推出了新的方式來讀取數據的格式文件。
這個工具就是 ibd2sdi
我們可以通過ibd2sdi來在系統啟動的情況下,來讀取數據的表結構,并輸
出成json格式。
在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
同時這樣做也是有弊端的,就是DDL 時可能需要更多的時間,因為他要重新寫入存儲,undo log , redo log 而不再是直接寫入到frm文件了
上圖也是8.0新添加的功能,以前我們讀取表的status 是直接進行讀取的,而mysql 8.014后的版本,添加上面的參數,讀取的表的status是去讀取緩存,而要刷新緩存,可以通過上的挑戰過期時間或者analyze table.
到此,關于“MYSQL8有什么新功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。