关于MySQL 8.0的几个重点,都在这里

网友投稿 748 2023-05-06

关于MySQL 8.0的几个重点,都在这里

关于MySQL 8.0的几个重点,都在这里

一、关于My***的改进

1.1 redo log 重构

在MySQL8.0中重新设计了redo log,主要改进fsync,使得效率更高,减少锁,优化flush机制,不会频繁flush。同时,支持更高用户并发请求。

1.2 MySQL DDL

在MySQL8.0中实现了DDL的原子性。

1.3 直方图

在MySQL8.0中添加了直方图的概念,用于索引的统计和分析。

1.4 降序索引

MySQL 8.0 开始提供按降序啦~

1.5 隐藏索引

MySQL8.0支持隐藏索引,在对索引的添加和修改,可以通过隐藏索引来实现,方便了索引的管理。

1.6 临时表的改进

在5.7以来,所有内部临时表成为"ibtmp1"的共享表空间。此外临时表的元数据也存储在内存中。

在MySQL8.0中,MEMORY存储引擎也将被TempTable存储引擎替换为内部临时表的默认存储引擎。这个新引擎为VARCHAR和VARBINARY列提供更高效的存储空间。

1.7 持久的全局变量

MySQL8.0通过新语法restart,使下次重启仍然生效。

1.8 redo和undo的加密

在MysQL 5.7中,可以为每个表的表空间进行加密。而在MySQL8.0中,还可以为UNDO和REDO LOG进行加密,从而提高了MySQL的安全性。

1.9 Innodb 锁的修改

在SQL里添加参数FOR UPDATE NOWAIT和FOR UPDATE SKIP LOCKED,可以设置跳过锁的等待,或者跳过锁定。

1.10 窗口函数

在MySQL8.0中,添加了窗口函数,它可以用来实现若干新的查询方式,以便更好地用于数据统计和分析。

1.11 新的优化器

在MySQL 8.0.3中,引入了新的优化器SET_VAR,用于在SQL中指定参数配置。

1.12 角色

在MySQL8.0中,添加了角色的功能。更方便了用户的管理

1.13 字符集的修改

在MySQL8.0.1中,MySQL支持了Unicode 9.0,并且修改了默认字符集为utf8mb4

二、关于MySQL 复制的改进

2.1 复制方面修改

在MySQL8.0.3中,关于binlog和复制方面的新的改变。

2.2 更高效Json复制

在MySQL8.0.3中,关于JSON复制更高效,并提供了新的json功能。在binlog中只记录了update修改的内容,而不是全部记录。

2.3 复制增强

在MySQL8.0.3中,关于对复制的默认参数的修改、对组复制,都增加了“动态跟踪、调试日志”等更多性能方面的监控工具。

2.4 MySQL 复制新功能

在MySQL8.0中,对于复制的改进,增加了可观察性,提供了复制的效率(基于WRITESET的并行复制)。

三、关于MySQL MGR的改进

3.1 组复制白名单的支持

在MySQL8.0.4 中,对组复制白名单的支持,有效地提高了组复制的安全性。

3.2 MySQL INNODB Cluster 新功能

在MySQL INNODB Cluster 新增加的功能:

3.3 MySQL MGR的监控

提高了MySQL组复制的可观察性和可管理性,并在MySQL8.0.4中增强了相关工具。

四、关于MySQL bug修复

4.1 自增列bug修复(199)

在MySQL8.0 关于自增列的bug的修复。不再采用max(自增id)+1的做法来确定下一个自增id。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:即将开源的新一代MySQL高可用组件:MySQL Plus
下一篇:用Python操作MySQL存储,这些你都会了吗?
相关文章