2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:006408
用户头像

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

关注

评论

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

互金总结系列(1)--开篇

互金从业者X

Libra白皮书解读

程序那些事

区块链 facebook 数字货币 libra

Libra教程之:Libra协议的关键概念

程序那些事

区块链 libra blockchain 协议

读《你的灯还亮着吗》

liu_liu

读书感悟

k8s 上运行我们的 springboot 服务之——自动化测试

柠檬

maven DevOps Unit Test

公司治理的两个关键要素:存在的基石 + 成长的飞轮

霍太稳@极客邦科技

发展 公司管理 增长

食堂就餐卡系统架构设计文档

dony.zhang

做产品少走弯路:上帝视角(2)

我是IT民工

产品 方法 路径 知识体系

由一次管理后台定时推送功能引发的对RabbitMQ延迟队列的思考(一)

LSJ

Java RabbitMQ 延迟队列

LeetCode 756. Pyramid Transition Matrix

liu_liu

LeetCode

你不能不掌握的软技能——业务语言

KAMI

方法论 开发 沟通 软技能

大中台模式下如何构建复杂业务核心状态机组件

奈学教育

中台

如何用日记提升写作能力?

石云升

学习 方法 写作

《Golang工具go doc使用透析》

卓丁

godoc go doc 源码阅读 Go 语言

如何基于 OAM 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

白话说流——什么是流,从批认识流(二)

KAMI

大数据 flink 流计算

架构师训练营第一周作业

Benjamin

[架构师训练营] Week01 - 食堂就餐卡系统设计

谭方敏

学习

SpringMVC中Http请求方式转换(post转换为put/delete等方式)

知春秋

springmvc post post到put方式请求 post到delete方式请求

游戏夜读 | 如何面对前景渺茫?

game1night

[翻译]The Go Blog《Go maps in action》

卓丁

hashmap map 哈希表 Go 语言

大中台模式下如何构建复杂业务核心状态机组件

古月木易

Kafka零数据丢失的配置方案

奈学教育

kafka

ARTS WEEK3

紫枫

ARTS 打卡计划

JVM学习笔记——JVM类加载机制

王海

Java 面试 JVM

B端产品经理养成记(4):敏捷项目

涛哥 数字产品和业务架构

敏捷 产品经理

小师妹学JavaIO之:NIO中那些奇怪的Buffer

程序那些事

io nio Java 25 周年 小师妹 buffer

拙见/ 什么是自驱力?

ZoomQuiet大妈

自我提升 大妈 是也乎 IMHO 蟒营®

算法基础:排序算法看这一篇就够了

Geek_k6ry2n

排序算法

[转载]Go 和 Java的15个主要差异

卓丁

Java Go 语言

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十一)编写测试-动态测试

编程道与术

Java 编程 TDD 单元测试 JUnit

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