MySQL 8.0.3 RC 版即将发布,看看有哪些变化 - 开源中国社区
MySQL 8.0.3 RC 版即将发布,看看有哪些变化
局长 2017年09月08日

MySQL 8.0.3 RC 版即将发布,看看有哪些变化

局长 局长 发布于2017年09月08日 收藏 14

MySQL 8.0.3 即将发布,一起看看有什么新变化吧

MySQL 8.0.3 即将发布 RC 版本,这预示着 8.0 版本离 GA 越来越近了。

下面分享一下 8.0.3 版本的一些重要新特性、新变化:

  1. 直接废除 query cache(应该只是关闭入口,自行编译源码的话,还能再次启用)

  2. 查询优化器支持直接在 SQL 中利用 SET_VAR 这个 HINT 语法修改某些会话级的选项,比如:

    - SELECT /*+ SET_VAR(sort_buffer_size = 16M) */ name FROM people ORDER BY name;

    - INSERT /*+ SET_VAR(foreign_key_checks=OFF) */ INTO t2 VALUES(2);

    (这个功能超级实用啊,直接在 SQL 内可以修改了,都不用再写一个 SQL,而且还担心会影响别人)

  3. 查询优化器现在支持将各个列统计结果直方图存储在 column_statistics 数据字典中,以便构造执行计划。有了这个直方图,就可用于该列和常量的比较判断

  4. 查询优化器中新增标记位 use_invisible_indexes,用于控制在构造执行计划时是否考虑不可见索引(invisible indexes)因素

  5. InnoDB 新增备份专用锁,以前 InnoDB 表在线热备时若同时进行 DML 可能导致 InnoDB 文件的快照不一致,有了这个备份锁就不用担心了。备份锁用法是 LOCK INSTANCE FOR BACKUP、UNLOCK INSTANCE,需要有 BACKUP_ADMIN 权限

  6. InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性了,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性(这个功能大赞啊)

  7. 若是延迟初始化组复制(GR,Group Replication),也就是在 single-primary 模式下,辅助节点上可以通过异步复制通道写入数据,这在正常初始化组复制插件时是不允许的(Bug #26314756,这是个内部 BUG ID,我们看不到的,别费劲了。不过还有万能的 github 啊,也能看到相关描述,参见:https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d

  8. 系统库 INFORMATION_SCHEMA 中的 FILES、PARTITIONS、REFERENTIAL_CONSTRAINTS 等几个视图被重新实现了一番(这个没说太具体,可能和所有的 DDL 都放入 InnoDB 有关系,不再使用 FRM 文件存储 DDL 信息)

  9. 由于外键约束锁功能改造,涉及到外键约束的父表上的列改名功能将暂时被禁用一段时间(估计过几个小版本就能正常用了)

  10. InnoDB 通用表空间新增改名语法:ALTER TABLESPACE ... RENAME TO(作为 MySQL DBA,貌似没什么人玩通用表空间,可能从 Oracle DBA 转过来更习惯使用吧)

  11. MySQL 复制的 slave 节点上,log_slave_updates 选项默认值改为 ON(这个也是比较实用,方便将该 slave 直接作为中继节点使用)

  12. 选项 sql_log_bin 的全局作用域被改成回话级作用域,也就是修改本选项只影响本会话,不再影响全局(这个选项一般也是在会话级使用)

  13. 选项 max_allowed_packet 的默认值从 4M 提高到 64M(这个貌似比较实在)

  14. 选项 event_scheduler 的默认值由 OFF 改成 ON,使得默认启用 event scheduler 功能(我觉得 event 功能挺好的呀,不过貌似没几个人使用 event)

  15. 选项 max_error_count 的默认值从 64 提高到 1024(没感觉的说)

  16. 最后一个,utf8mb4 字符集增加俄语的校验集(新增 utf8mb4_ru_0900_ai_ci、utf8mb4_ru_0900_as_cs 两种 collations set)

一起期待 8.0.3 的发布吧!

转自:老叶茶馆 微信公众号 作者:叶师傅

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:MySQL 8.0.3 RC 版即将发布,看看有哪些变化
分享
评论(33)
精彩评论
5
其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
4

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“张伟斌卍”的评论

历史遗留问题,java和mysql是一家公司的,一事不烦二主么,而且推广上很多机构都是捆绑培训的。
到了2008年,java和mysql才是一家公司的好吗。
怎么都赖到培训机构头上来,他们有着么牛逼吗?
3

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
PostgreSQL的性能远超MySQL?有真实应用的测试数据么?
不会专门挑一些PostgreSQL有而MySQL没有的特性然后来说明PostgreSQL快吧.
我就说单表扣库存这个商城的SQL逻辑吧,我就想知道,
这种必须即刻刷写磁盘的操作,PostgreSQL有什么黑科技能比MySQL快.
https://github.com/alibaba/AliSQL/wiki/AliSQL-Performance-benchmark-for-inventory
如果你真要说服MySQL使用者转到PostgreSQL,欢迎用阿里的这个秒杀场景进行测试对比.
2

引用来自“平淡不过今日”的评论

8.0都出来了~还在用5.1
5.1赶紧升级5.7 性能提升好多
1

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“eechen”的评论

PostgreSQL的性能远超MySQL?有真实应用的测试数据么?
不会专门挑一些PostgreSQL有而MySQL没有的特性然后来说明PostgreSQL快吧.
我就说单表扣库存这个商城的SQL逻辑吧,我就想知道,
这种必须即刻刷写磁盘的操作,PostgreSQL有什么黑科技能比MySQL快.
https://github.com/alibaba/AliSQL/wiki/AliSQL-Performance-benchmark-for-inventory
如果你真要说服MySQL使用者转到PostgreSQL,欢迎用阿里的这个秒杀场景进行测试对比.
你说的PG的方案还是真有的,多年前就有了
http://blog.163.com/digoal@126/blog/static/16387704020158149538415/

然而就是像你说的,原理基本一致的,秒杀这方面两者伯仲之间吧。
用PG主要的原因是复杂查询的优化能力,以及没有mysql那么多隐藏的坑。比如这条

InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性了,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性(这个功能大赞啊)
最新评论
0
被绑到RDS上的是不是要一两年之后才能体验到
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“张伟斌卍”的评论

历史遗留问题,java和mysql是一家公司的,一事不烦二主么,而且推广上很多机构都是捆绑培训的。

引用来自“叶金荣”的评论

到了2008年,java和mysql才是一家公司的好吗。
怎么都赖到培训机构头上来,他们有着么牛逼吗?
@叶金荣 叶老板威武
1

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“eechen”的评论

PostgreSQL的性能远超MySQL?有真实应用的测试数据么?
不会专门挑一些PostgreSQL有而MySQL没有的特性然后来说明PostgreSQL快吧.
我就说单表扣库存这个商城的SQL逻辑吧,我就想知道,
这种必须即刻刷写磁盘的操作,PostgreSQL有什么黑科技能比MySQL快.
https://github.com/alibaba/AliSQL/wiki/AliSQL-Performance-benchmark-for-inventory
如果你真要说服MySQL使用者转到PostgreSQL,欢迎用阿里的这个秒杀场景进行测试对比.
你说的PG的方案还是真有的,多年前就有了
http://blog.163.com/digoal@126/blog/static/16387704020158149538415/

然而就是像你说的,原理基本一致的,秒杀这方面两者伯仲之间吧。
用PG主要的原因是复杂查询的优化能力,以及没有mysql那么多隐藏的坑。比如这条

InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性了,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性(这个功能大赞啊)
0

引用来自“平淡不过今日”的评论

8.0都出来了~还在用5.1

引用来自“平原君”的评论

这个应该是5.7直接跳8吧,话说5.7在我的win10上貌似有问题,之后还用着5.6

引用来自“叶金荣”的评论

然而肯定是你的用法不对,赖不到5.7头上 :)
那是肯定的,不然也不会发布出来了,不过懒得弄了,之前5.6直接启动就行,5.7就不行。我的是简单应用,也不用追新,就继续保持了
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“张伟斌卍”的评论

历史遗留问题,java和mysql是一家公司的,一事不烦二主么,而且推广上很多机构都是捆绑培训的。

引用来自“叶金荣”的评论

到了2008年,java和mysql才是一家公司的好吗。
怎么都赖到培训机构头上来,他们有着么牛逼吗?
他们不牛逼,他们很普及。
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“eechen”的评论

PostgreSQL的性能远超MySQL?有真实应用的测试数据么?
不会专门挑一些PostgreSQL有而MySQL没有的特性然后来说明PostgreSQL快吧.
我就说单表扣库存这个商城的SQL逻辑吧,我就想知道,
这种必须即刻刷写磁盘的操作,PostgreSQL有什么黑科技能比MySQL快.
https://github.com/alibaba/AliSQL/wiki/AliSQL-Performance-benchmark-for-inventory
如果你真要说服MySQL使用者转到PostgreSQL,欢迎用阿里的这个秒杀场景进行测试对比.
来,握个抓子
4

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“张伟斌卍”的评论

历史遗留问题,java和mysql是一家公司的,一事不烦二主么,而且推广上很多机构都是捆绑培训的。
到了2008年,java和mysql才是一家公司的好吗。
怎么都赖到培训机构头上来,他们有着么牛逼吗?
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
1、是MySQL不是MySql;
2、pg的性能远远比MySQL要好?呵呵
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!

引用来自“老张大哥”的评论

很简单,培训机构不培训哈哈
呵呵
0

引用来自“平淡不过今日”的评论

8.0都出来了~还在用5.1

引用来自“平原君”的评论

这个应该是5.7直接跳8吧,话说5.7在我的win10上貌似有问题,之后还用着5.6
然而肯定是你的用法不对,赖不到5.7头上 :)
0

引用来自“平淡不过今日”的评论

8.0都出来了~还在用5.1
该与时俱进啦
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
历史遗留问题,java和mysql是一家公司的,一事不烦二主么,而且推广上很多机构都是捆绑培训的。
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
国内大多数中小企业关注的是生态系统,遇到问题容易解决,对性能要求高的大公司都改数据库源码了,自建分支,所以造成postgresql使用率不高。
3

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
PostgreSQL的性能远超MySQL?有真实应用的测试数据么?
不会专门挑一些PostgreSQL有而MySQL没有的特性然后来说明PostgreSQL快吧.
我就说单表扣库存这个商城的SQL逻辑吧,我就想知道,
这种必须即刻刷写磁盘的操作,PostgreSQL有什么黑科技能比MySQL快.
https://github.com/alibaba/AliSQL/wiki/AliSQL-Performance-benchmark-for-inventory
如果你真要说服MySQL使用者转到PostgreSQL,欢迎用阿里的这个秒杀场景进行测试对比.
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
因为 LAMP,而且你说 PGSQL 性能更好是说大负载的情况下,远古时代 MySQL 无事务,读效率高的没有对手
0

引用来自“SourceWorkSpace”的评论

其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
很简单,培训机构不培训哈哈
0
在玩pg了,以后多发些pg的教程!
5
其实在开源的数据库中,MySql数据库的性能一般般,postgresql的性能远远比MySql要好,只是不知道为啥国内基本都是使用MySql而不是postgresql!!
0
pgsql
0
赞。越来越专业了。。性能也是越来越好。。
顶部