MySQL 8 即将到来,它将是一个重大改变。MySQL 5.7 已经发布一年多,并且因其原生的 JSON 数据类型、增强的安全性以及更佳的性能而广受好评。但是 5.7 仍然存在一些需要现代化的地方,这就是 MySQL 8 即将推出的原因。
6 和 7 发生了什么?
多年前,在 Sun Microsystems 收购 MySQL AB 之前,曾经有一个版本号为 6 的 MySQL。遗憾的是,它有点过于雄心勃勃,所有权的变更导致它逐渐衰落。MySQL Cluster 产品多年来一直使用 7 系列。随着 MySQL 8 的新变化,开发人员认为他们已经对其进行了足够的修改,可以提升主版本号。
数据字典
是否曾经打开 MySQL schema 的目录并看到所有这些文件——.frm、.myi、.myd 等?这些文件保存了数据库 schema 的一些元数据。二十年前,这是一种不错的方式,但 InnoDB 是一种防崩溃的存储引擎,可以安全地保存所有这些元数据。这意味着 .frm 文件的文件损坏不会阻碍您的工作。开发人员还移除了文件系统的最大文件数限制,作为数据库数量的限制因素;现在您的数据库中可以拥有数百万个表。
这也使得更改表变得更加容易。过去,由于旧数据字典的连接方式,ALTER TABLE 命令可能需要很长时间。新的数据字典将允许您启动事务,执行 ALTER TABLE 语句,并在提交更改之前测试更改。
还有什么在改变?
公用表表达式 (CTE)、窗口函数、用户权限角色、隐形索引等等。随着未来版本的发布,您将看到更多新功能。请查看发行说明了解详细信息。此外,MySQL 已开始将诸如 Group Replication 和 Document Store 等大型新功能与主要服务器版本解耦。这些将是插件,使您能够快速添加新功能,而无需等待服务器发布周期。
资源
阅读 MySQL 8 手册。
下载 里程碑版本(也有 Docker 镜像)。
4 条评论