MySQL 的第八个版本蓄势待发, 并有望于 2018 年发布在 MySQL 5.7.9 的首个通用版本推出后的 28 个月内, MySQL 8 发布了从 8.0.0 到 8.0.4 这五个候选版本这些发布候选仅针对开发使用, 而不应该生产系统中使用因为这些候选版并不支持版本升级, 用户可能会碰上候选版与一般可用 (GA) 版间存在数据格式不兼容的问题
用户首先可能注意到, 在版本号上出现了一个跳跃这是因为 MySQL 丢弃了版本 6, 而将版本 7 用于企业产品线
窗口函数 (Window Function) 是 MySQL 8 中最令人感兴趣的特性其它一些数据库引擎中业已实现该特性窗口函数对一系列查询行执行聚合运算, 并可对每一行聚合周边的数据而生成结果
类似于窗函数, 递归 CTE(Common Table Expressions)支持用户在不使用游标的情况下, 执行引用了自身的子查询该幻灯片对此特性作了详细的阐述
MySQL 8 的默认字符集支持也从 Latin1 转变为 utf8mb4utf8mb4 支持每个字符使用多至四个字节它是很多应用的首选字符集, 因为它支持大多数扩展字符序(例如日语所用的
utf8mb4_ja_0900_as_cs
等)以及 emoji 字符在存储方面, MySQL 8 的默认存储引擎将使用 InnoDB
隐藏索引 (Invisible indexes) 支持 DBA 将某个索引设为不被查询优化器所考虑该特性用于测试指定的索引对查询性能的影响情况, 并可在对用户实际启用该索引前, 恢复索引在查询优化中的可见性 MySQL 8 还大幅改进了对 JSON 的支持, 添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT()函数, 以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG()和 JSON_OBJECTAGG()聚合函数
MySQL 8 提供了灵活的角色支持, 支持 CREATEDROP 和 GRANT 角色, 甚至可将一个角色赋予另一个角色, 并可限制 MySQL 8 中可用的角色对每个会话或主机的可用性用户也可以通过调用 ROLES_GRAPHML()函数, 实现角色的 GraphML 可视化
来源: http://www.linuxidc.com/Linux/2018-03/151251.htm