2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

MySQL 8 的关键新特性

  • 2018-03-07
  • 本文字数:904 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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”转变为“utf8mb4”。utf8mb4 支持每个字符使用多至四个字节。它是很多应用的首选字符集,因为它支持大多数扩展字符序(例如日语所用的 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 提供了灵活角色支持,支持CREATE、DROP 和GRANT 角色,甚至可将一个角色赋予另一个角色,并可限制MySQL 8 中可用的角色对每个会话或主机的可用性。用户也可以通过调用 ROLES_GRAPHML() 函数,实现角色的 GraphML 可视化。

MySQL 8 曾计划于 2017 年 10 月发布,但是 8.0.4 RC 直至 2018 年 1 月 23 日才发布。看来在正式推出GA 版之前,至少还需要发布两个候选版。

查看英文原文: Best New Features of MySQL 8

2018-03-07 18:006702
用户头像

发布了 391 篇内容, 共 156.4 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

怎样简洁明了地说清楚产品需求?

LigaAI

高效工作 产品经理 需求 产品设计与思考

对接上百个第三方 API 后的思考与沉淀

橘长

经验总结 Java EE 经验分享、

H.265编码原理入门

百度Geek说

视频编码

【云图说】每个成功的业务系统都离不开APIG的保驾护航

华为云开发者联盟

云计算 华为云 业务系统

最大和的连续子数组

龙空白白

数据结构与算法

深度剖析「圈组」关系系统设计 | 「圈组」技术系列文章

网易云信

音视频 IM Discord

Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?

星策开源社区

开源 DevOps 算法 OpenMLDB MLOps

为你推荐一款高效的IO组件——okio

HarmonyOS开发者

HarmonyOS

【网易云信】深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章

网易智企

音视频 IM Discord

你对PHP数据类型或者其他编程语言的数据类型了解多少呢

迷彩

php 基础 6月月更 InfoQ极客传媒15周年庆

技术分享| 快对讲,全球对讲

anyRTC开发者

快对讲 抗丢包 网络传输FEC GT-RTN 语音对讲

在线文档协作工具,是提高工作效率的第一步

小炮

【LeetCode】替换数组中的元素Java题解

Albert

LeetCode 6月月更

搜狐员工遭遇工资补助诈骗 黑产与灰产有何区别 又要如何溯源?

郑州埃文科技

网络安全 网络灰黑产 IP溯源

数组判断任意出现的重复值

龙空白白

数据结构与算法

大数据培训Flink高频面试题分享

@零度

flink 大数据开发

“减负”,让“猪”可以飞得更高

鼎道智联

【网易云信】深度剖析「圈组」关系系统设计 | 「圈组」技术系列文章

网易智企

音视频 IM Discord

“易 +”开源计划丨基于 WebRTC 的低延时播放器设计和实践

网易智企

开源 IM 低延时直播

web前端培训高频面试题

@零度

前端开发

java培训自定义 ThreadPoolExecutor 线程池

@零度

jdk JAVA开发

2022 年 5 月产品大事记

FinClip

API如何检测安全配置是否有错误?

老豆还编程

安全 API

子网划分不会?瑞哥带你深入理解IP地址,手把手教你子网划分!

wljslmz

网络技术 6月月更 子网划分

中台:数据中台、业务中台、技术中台、应用中台、AI中台……

BeeWorks

从“化学家”到开发者,从甲骨文到TDengine,我人生的两次重要抉择

TDengine

数据库 tdengine 开源 时序数据库

区块链哈希竞猜娱乐游戏俱乐部系统开发

开发微hkkf5566

20年技术老兵放弃大厂CTO头衔!这家创业公司凭什么吸引他?

XTransfer技术

CTO 跨境支付

Django 基础教程

海拥(haiyong.site)

Python django 6月月更

百度工程师教你玩转设计模式(单例模式)

百度Geek说

设计模式

MySQL 8的关键新特性_数据库_Alex Giamas_InfoQ精选文章