您好,登录后才能下订单哦!
这篇文章主要介绍“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。