立即领取|华润集团、宁德核电、东风岚图等 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:006084
用户头像

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

关注

评论

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

微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等

JackJiang

sqlite 微信 网络编程 即时通讯 IM

软件测试 | 测试开发 | 接口管理工具YApi怎么用?颜值高、易管理、超好用

测吧(北京)科技有限公司

测试 Mock

软件测试 | 测试开发 | app自动化测试(Android)-- 特殊控件 T识别oast

测吧(北京)科技有限公司

自动化测试 Android;

牛客“基础-中级-高级”Java程序员面试八股文集结,熬夜挑灯刷

程序知音

Java java面试 后端技术 Java面试八股文 Java 面试题

Serverless 架构下的 AI 应用开发:入门、实战与性能优化

阿里巴巴云原生

阿里云 Serverless 云原生

代码质量与安全 | 实践“边写边清理”,您需要做好这两件事:质量配置文件和质量门

龙智—DevSecOps解决方案

代码质量 代码安全 静态代码安全

小六六学Netty系列之Netty群聊

自然

Netty 网络 9月月更

软件测试 | 测试开发 | 基于Requests与mitmproxy打造迷你接口测试框架

测吧(北京)科技有限公司

测试 Request

主流定时任务解决方案全横评

阿里巴巴云原生

阿里云 Serverless 云原生

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(上)

测吧(北京)科技有限公司

测试

小六六学Netty系列之Java NIO(二)

自然

Netty 网络 9月月更

软件测试 | 测试开发 | 一文搞懂测试左移和测试右移的 Why-How-What

测吧(北京)科技有限公司

测试 安全测试

设备健康管理在石化行业的探索与实践

PreMaint

预测性维护 设备健康管理

小六六学Netty系列之Java 零拷贝

自然

Netty 网络 9月月更

Spring源码分析(九)lazy-init 在Spring中是怎么控制加载的

石臻臻的杂货铺

spring 9月月更

软件测试 | 测试开发 | RPC接口测试技术-Tcp 协议的接口测试

测吧(北京)科技有限公司

测试管理 | 龙智获得Xray专家认证

龙智—DevSecOps解决方案

Jira插件

云游戏产业链深度解析

Finovy Cloud

云计算 5G 云渲染 云游戏

软件测试 | 测试开发 | 抓包分析 TCP 协议

测吧(北京)科技有限公司

TCP 抓包分析

CI/CD | 大型企业与开发团队如何进行持续集成与持续发布

龙智—DevSecOps解决方案

持续集成 CI/CD 持续发布

GOPS现场 | 对话龙智技术顾问,分享DevOps观察与心得

龙智—DevSecOps解决方案

运维 DevOps工具链

软件测试 | 测试开发 | 想测试入门就必须要懂的软件开发流程

测吧(北京)科技有限公司

测试

leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单)

okokabcd

LeetCode 算法与数据结构

软件测试 | 测试开发 | 如何模拟真实使用场景?mock 技术来帮你

测吧(北京)科技有限公司

测试

2022年8月国产数据库大事记-墨天轮

墨天轮

数据库 opengauss 国产数据库 达梦 polarDB

软件测试 | 测试开发 | 文未有福利 | 接口自动化你不懂?听HttpRunner的作者怎么说

测吧(北京)科技有限公司

测试 接口调试

版本管理 | 如何解决SVN的合并冲突与分支问题?

龙智—DevSecOps解决方案

svn 版本管理

区块链NFT网站开发:NFT数字藏品网站开发

开源直播系统源码

NFT 数字藏品 数字藏品系统

LED屏幕有色差要怎么办?

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

软件测试 | 测试开发 | app自动化测试(Android)--显式等待机制

测吧(北京)科技有限公司

测试

国产操作系统应用小程序化:夯实技术底座,促进生态发展

Speedoooo

小程序 国产操作系统 小程序容器

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