前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL 8.0.11 (2018-04-19, General Availability)

MySQL 8.0.11 (2018-04-19, General Availability)

作者头像
MySQL轻松学
发布2018-07-26 16:17:43
1.2K0
发布2018-07-26 16:17:43
举报
文章被收录于专栏:MYSQL轻松学MYSQL轻松学

MySQL 8.0.11 于2018-04-19日发布GA版本

注意:

仅支持通过使用 in-place 方式从 MySQL 5.7 升级到 MySQL 8.0 升级; 不支持从 MySQL 8.0 降级到 MySQL 5.7(或从MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。唯一受支持的替代方案是在升级之前对数据进行备份。

MySQL8.0相对于MySQL5.7新特性

1、字符集支持:utf8mb4 作为 MySQL 的默认字符集,此字符集可支持emoji表情

2、系统库优化:默认采用utf8mb4字符集,取消默认MyISAM系统表,新加KEYWORDS表

3、取消Query Cache:性能审计中建议的第一件事就是禁用Query Cache,因为它给设计带来了很多麻烦。MySQL QC造成的问题比它解决问题要多的多。如果必须需要Query Cache,MySQL8.0可能不太适用。

4、角色管理:MySQL 8.0中添加了SQL角色功能,角色是指定的拥有特定权限的集合,像用户帐户一样,角色可以拥有授予和撤消的权限。

5、隐藏索引:在 MySQL8.0中,索引可以被“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。

6、降序索引:MySQL8.0之前如果有desc,索引会以相反顺序扫描,影响性能。也可以混合某些列的升序和某些列的降序使用多列索引。

alter table T1 add index idx_1(c1 DESC);

7、设置持久化:新增了 SET PERSIST 命令,将修改的参数配置保存到数据目录下的 mysqld-auto.cnf文件中,下次启动时会读取该文件,用其中的配置来覆盖缺省的配置文件。

8、通用表表达式(Common Table Expressions)

复杂查询:

SELECT T1.*,T2.* FROM

(SELECT COL1 FROM TABLE1) T1,

(SELECT COL2 FROM TABLE2) T2;

而有了GTE,就可以这样写了:

WITH

T1 AS (SELECT COL1 FROM TABLE1),

T2 AS (SELECT COL2 FROM TABLE2)

SELECT T1.*,T2.* FROM T1,T2;

9、窗口函数(Window Functions):从MySQL8.0开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。

10、原子DDL:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,元数据存储在单个事务数据字典中。

11、NoSQL(用的不多):MySQL从5.7版本开始提供NoSQL存储功能,目前在8.0版本中这部分功能也得到了更大的改进。该项功能消除了对独立的NoSQL文档数据库的需求,而 MySQL 文档存储也为schema-less模式的JSON文档提供了多文档事务支持和完整的ACID合规性。

12、JSON:MySQL 8.0大幅改进了对JSON的支持,添加了基于路径查询参数从JSON字段中抽取数据的JSON_EXTRACT()函数,以及用于将数据分别组合到 JSON 数组和对象中的JSON_ARRAYAGG()和JSON_OBJECTAGG()聚合函数。

13、安全性:对OpenSSL的改进、新的默认身份验证、SQL 角色、密码强度、授权。

14、临时表改进:在5.7以来,所有内部临时表成为"ibtmp1"的共享表空间。此外临时表的元数据也存储在内存中。在MySQL8.0中,MEMORY存储引擎也将被TempTable存储引擎替换为内部临时表的默认存储引擎。这个新引擎VARCHAR和VARBINARY列提供更高效的存储空间。

15、Redo重构:重新设计了redo log,改进fsync,使效率更高,减少锁,优化flush机制,不会频繁flush,同时支持高并发度。

16、直方图:在MySQL 8.0中添加了直方图概念,用于索引的统计和分析

17、Innodb加强:数据字典优化,参数优化

18:复制优化:在MySQL8.0中,对于复制的改进,默认参数的修改、对组复制,增加了“动态跟踪、调试日志”等更多性能方面的监控工具。提高了可观察性,提供了复制的效率(基于WRITESET的并行复制)

接下来开始测试……

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MYSQL轻松学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL 8.0.11 于2018-04-19日发布GA版本
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档