【重磅】MySQL 8.0 pre release看点

简介: 【重磅】MySQL 8.0 pre release看点

导读

MySQL 8.0即将发布,一起来看看都有什么料。

昨天就收到了官方发给ACEs的邮件,不过今天白天一直在忙着给新房子做保洁,没来得及认真查看邮件内容,只是简单扫了一眼,整体感觉还是有很多惊喜,不过也大体上在意料之中。

重大变更

  1. 彻底将数据字典表引擎从MyISAM改为InnoDB。显然地,这是要更进一步放弃MyISAM引擎的节奏,还在负隅顽抗的亲们,要认清形势了,哈哈。事实上,我当初的预期是在5.7就该这么做的。
  2. 增加了ROLE特性。这是继续向ORACLE看齐啊,我个人没啥特别感觉。
  3. 修改默认字符集为utf8mb4。这个,见仁见智吧,各有喜好,不管怎样,也算是紧跟着时代发展的决定了。
  4. 新增INVISIBLE(不可见)索引属性。可将一个索引设置为不可见,那么查询优化器不再识别该索引。这么做的用意是,方便DBA判断某个索引过一阵子是否可以删除,不再担心误杀。
  5. 位运算功能增强。以前只能针对INT类型做位运算,现在增加支持二进制类型的运算,比如 [VAR]BINARY/[TINY|MEDIUM|LONG]BLOB 等多种类型。另外,也支持对 IPV6 和 UUID 类型的位运算。
  6. 在线修改全局选项(GLOBAL VARIABLES)时,增加 PERSIST 关键字后,可以将该调整持久化,即便实例重启。这就可以避免了在线修改某些选项后,忘了同时修改 my.cnf,造成了实例重启后,这个修改又被恢复原样的问题。这个功能显然也是在学习ORACLE的控制文件做法呀。
  7. 增强P_S(performance_schema)功能,主要有几点:
    1. 可以在P_S中直接查看错误日志;
    2. 在P_S中增加了类似自适应哈希索引的索引机制,便于快速检索P_S中的数据;
    3. 在线修改全局选项(GLOBAL VARIABLES)时,增加 PERSIST 关键字后,可以将该调整持久化,即便实例重启。这就可以避免了在线修改某些选项后,忘了同时修改 my.cnf,造成了实例重启后,这个修改又被恢复原样的问题。这个功能显然也是在学习ORACLE的控制文件做法呀。
  1. 重构SQL解析器。简单来说,原先的解析器有严重的问题,维护性、扩展性都不好,在8.0里进行了重构,以后会做的更牛逼。
  2. 查询优化器Hints功能增强。在5.6及更早版本中,子查询中的派生表总是要进行物化,效率很低。从5.7开始,优化器会根据情况进行判断,自行决定在哪些情形下需要物化,哪些直接合并进外部查询中,通常来说,后一种做法效率会搞很多。在8.0中,可以在SQL中增加 /*+ merge */ 关键字来决定哪些情形下将派生表合并到外部查询中以提升查询效率。
  3. 查询优化器功能增强。它会判断InnoDB Buffer中数据、索引缓冲比例的情况,决定每个SQL的访问模式,尽量避免发生物理读。
  4. 增加直方图功能。不知道直方图什么意思的话,可以了解下MariaDB分支中的QUERY RESPONSE TIME这个插件的功能,和这个基本相似。又是学习ORACLE的做法呀,汗(⊙﹏⊙)b
  5. GIS功能增强。增加了经度、纬度、平面地图等功能。
  6. 提高数据扫描查询效率。例如下面这样的SQL大概能有5-20%的效率提升:
    SELECT * FROM t;
    或是
    SELECT * FROM t WHERE pk BETWEEN 1000 AND 10000;

  7. 增强InnoDB引擎中部分读取或更新BLOB数据类型的效率。
  8. InnoDB Memcached功能增强,增加一次取多个值(mget),以及范围搜索。
  9. 修复了InnoDB重启后,自增值丢失的bug,这个bug历史非常悠久(bug id是199,可想而知,嗯...)。
  10. 会对那些损坏的数据页加上标记,数据库实例在进行recovery时,就会忽略这些page了。
  11. 临时表增强。首先,将压缩类型临时表映射成未压缩格式。其次,将临时表的元数据存储在内存中。
  12. InnoDB性能大幅提升,主要做了几个事情:
    1. 可以把想通table ID组内的undo数据批量purge;
    2. 废除buffer pool mutex。将原来一个mutex拆分成多个,提高并发;
    3. 拆分LOCK_thd_list 和 LOCK_thd_remove 这两个mutex,大约可提高线程链接效率5%。
  1. MySQL复制功能方面的改进或提升不多,这个让我非常诧异,我也就没写出来了。

写到凌晨一点半,实在有点累(开头说过,今天做了一天保洁)。其他更多新特性,我大概过了一眼,好像不是太有诱惑性,这次就先不列出来了。

毕竟,现在还只是pre release,在后续的计划中,肯定还会发生很大变化。比如这次就完全没提到group replication,也压根没提到之前广大中国MySQL用户提交给官方的新功能需求,汗一个(⊙﹏⊙)b

再小小吐槽下,安装包真的是是越做越大了,建议官方发布的时候,再提供一个strip过后的二进制包吧,下载起来更快一些~~~

好了,先到这里,下次再扯。

            </div>
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
NoSQL 数据可视化 MongoDB
Windows MongoDB的安装及配置图文说明(非常详细)
Windows MongoDB的安装及配置图文说明(非常详细)
1584 0
|
Kubernetes 前端开发 Cloud Native
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
快速学习混动工程平台 ChaosBlade-Box 新版重磅发布
混动工程平台 ChaosBlade-Box 新版重磅发布 | 学习笔记
|
存储 缓存 小程序
微信小程序登录流程解析
微信官方文档有小程序的登录流程时序图,本文围绕这张图从0到1做更具体的解析。微信小程序的登录看上去好像很复杂,实际上只是不同的接口调用、字段返回,整个过程有3方在参与:小程序、开发者服务器、微信服务器。
微信小程序登录流程解析
|
弹性计算 固态存储 大数据
阿里云服务器多少钱一年?2024年8月最新价格表连夜整理(收藏级)
阿里云服务器价格优惠,2024年最新租用费用显示轻量应用服务器2核2G3M带宽年费82元,2核4G4M带宽年费298元。新老用户共享99元一年的2核2G3M带宽ECS服务器,2核4G5M带宽ECS优惠价199元一年。游戏服务器方面,4核16G10M带宽每月70元,8核32G10M带宽每月160元。GPU服务器如gn6v、gn6i等也有相应折扣。此外,提供了不同配置的ECS实例,包括经济型e实例、通用算力型u1实例等,并附有按小时计费的价格表。公网带宽按固定带宽或流量计费,系统盘提供高效云盘、SSD云盘和ESSD云盘选项。详情及最新优惠请参见阿里云官方页面。
2619 0
|
存储 算法 搜索推荐
数据结构--堆的深度解析
数据结构--堆的深度解析
|
数据安全/隐私保护
注销备案须知及操作步骤
若您的网站已经在阿里云成功备案,现要停止该网站的服务,需注销主体或网站在工信部的备案信息。
3533 0
|
JSON 监控 安全
22条API设计的最佳实践
22条API设计的最佳实践
22条API设计的最佳实践
|
存储 Prometheus 运维
不止于观测|阿里云可观测套件正式发布
万物皆云的时代,可观测性让云计算更易用高效,也将可观测数据的业务价值最大程度释放。“观测力”已成为每个 IT 人的必备核心竞争力。不止于观测,可观测帮助企业分析、洞察并实现高质量的决策与业务创新。而阿里云将不断推动可观测技术演进与落地实践,帮助企业真正实现高质量数字化转型与创新。
不止于观测|阿里云可观测套件正式发布
LXJ
|
存储 Windows
无影云电脑评测
无影云电脑评测
LXJ
1185 0
无影云电脑评测