MySQL 8.0.3 RC 版即将发布,看看有哪些变化
局长 2017年09月08日

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

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

腾讯云-1小时搭建人工智能应用,让技术更容易入门>>>  

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
赞。越来越专业了。。性能也是越来越好。。
顶部