查看原文
科技

MySQL 9.0 新功能概览

天舟 Bytebase 2024-07-09

官方文档 https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html

时隔 6 年多,上周 Oracle 发布了 MySQL 最新的大版本 9.0。我们一起来看看新版本有哪些东西。

用 JavaScript 写存储过程

半年前已经单独介绍过 「虽迟但到!MySQL 可以用 JavaScript 写存储过程了!」,这次也正式出现在 9.0 中。不过只有企业版有,不包括在社区版中。

新的 VECTOR 向量类型

隔壁 Postgres 的 pg_vector 发展势头迅猛,MySQL 9.0 这次也加上了向量类型 VECTOR
不过这次的版本只是提供了最基础的向量类型。比如函数上只提供了和 String 之间的转换,以及获得向量长度。
运算符也只支持等号比较,像最常用的计算向量间距离的能力也还没有。

保存 JSON 格式 EXPLAIN 执行计划到变量

执行计划之前只支持输出为表格格式,现在可以输出为 JSON 格式,并且可以存到一个变量里供后续处理。还可以这样衔接上 JSON 函数了。
另外对于 EXPLAIN 还支持了 FOR SCHEMA/DATABASE 语法,可以模拟语句在指定 DATABASE 中的执行计划

Event DDL 支持 Prepared

Event 可用来配置定时任务。9.0 中相关的 DDL,CREATE EVENT,ALTER EVENT,DROP EVENT 可以被 Prepared 了。不过它还不支持 ?占位符,需要通过存储过程,传参数,字符串拼接的方式曲线救国。

Performance Schema 新增系统变量表

增加了 variables_metadataglobal_variable_attributes 两张表。更加结构化地保存和读取系统变量。

mysql_native_password plugin 彻底告别

帮 MySQL 看了几十年门的经典登陆认证方式终于彻底告别历史舞台。虽然 8.0.4 开始,默认的认证插件已经从 mysql_native_password 改成了 caching_sha2_password。该来的总是要来。


小结

按照官方的版本规划,9.0 是一个 Innovation Release,算是给后续的迭代打一个基础。大的新功能目前是 MVP,还要在后续的 9.x 中继续增强的,比如:
  • 引入 VECTOR 向量类型是为了后续全面支持向量计算。
  • Performance Schema 引入新的变量表,将来可以支持更强大的自定义变量。

目前规划中的 LTS 版是 9.7,估计还要等个几年。9.0 的改动不算多,但也包含了上百个 bug 修复。改动不大的好处是升级会比较容易,个人可以马上搭个 9.0 尝尝鲜,企业里等 9.1.x 版本出来,也可以考虑做测试升级准备了。

虽迟但到!MySQL 可以用 JavaScript 写存储过程了!

Bytebase 签约澳洲 School Bytes,助力教务管理 SaaS 规范化数据库批量变更

代码全开源!数据库工具届的瑞士军刀,替代多款工具的一站式数据库开发平台

Bytebase 产品介绍


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存