从昨晚开始,在DBA
群里大家就在讨论MySQL 9.0发布的事情,但是Release Note
和官方文档都没有更新,所以今天早上一上班就赶紧瞅了下具体更新了哪些内容?
整体看来,基本没什么创新。下面是9.0
新增或废弃的一些特性。
- 🚀MySQL 9.0 新特性和功能
- ✔️ 保存explain analyze的JSON输出结果
- ✔️ Prepared语句中的Event DDL
- 🚀MySQL 9.0 废弃的特性和功能
- 🚀MySQL 9.0 已移除的特性和功能
🚀MySQL 9.0 新特性和功能
✔️ 保存explain analyze的JSON输出结果
EXPLAIN ANALYZE FORMAT=JSON INTO @_variable select_stmt;
✔️ Prepared语句中的Event DDL
从 MySQL 9.0.0 开始,下面的语句可以被prepared:
-
CREATE EVENT
-
ALTER EVENT
-
DROP EVENT
对于这些语句,不支持位置参数
🚀MySQL 9.0 废弃的特性和功能
Performance Schema 中 variables_info
表的 MIN_VALUE
和 MAX_VALUE
列现在已不推荐使用,并可能在未来的 MySQL 版本中移除,请使用 variables_metadata 表的列。
🚀MySQL 9.0 已移除的特性和功能
以下项目在MySQL 9.0中已过时并已删除。如果显示了替代方案,则应更新应用程序以使用它们。
对于使用在MySQL 9.0中删除的功能的MySQL 8.4应用程序,在从MySQL 8.4源复制到MySQL 9.0复制品时,语句可能会失败,或者在源和复制品上可能产生不同的效果。为避免此类问题,应修改使用在MySQL 9.0中删除的功能的应用程序以避免使用它们,并尽可能使用替代方案。
🧿 mysql_native_password
插件。在MySQL 8.0中弃用的mysql_native_password
身份验证插件已被删除。服务器现在会拒绝来自没有CLIENT_PLUGIN_AUTH
功能的旧客户端程序的mysql_native
身份验证请求。
由于这一变化,以下服务器选项和变量也已被删除:
-
--mysql-native-password服务器选项 -
--mysql-native-password-proxy-users服务器选项 -
默认的default_authentication_plugin服务器系统变量
为保持向后兼容性,mysql_native_password仍可在客户端上使用,因为用户可能会使用MySQL 9.0
的客户端连接低版本的MySQL数据库服务。
其实一直以来,大家比较期待的是MySQL的vector
特性,毕竟现在大家一想起关系型数据库的向量功能,立马想到或者使用的是PostgreSQL
中pg_vector
。
但是目前看来,只有HeatWave中可以使用向量存 --(HeatWave GenAI)
利用生成AI而无需AI专业知识或数据移动。HeatWave GenAI提供集成和自动化的生成AI,其中包括基于大型语言模型(LLMs)的数据库内部;自动化的数据库内部向量存储;以及在自然语言中进行上下文对话的能力。
总之,个人觉得MySQL 9.0 本次并没有什么较大创新。
但是,官方社群里有国外小伙伴发了在HeatWave里的测试。
出于好奇,我在community版本中进行了测试(如下图),发现当前版本支持vector类型,开始支持向量存储了,但是文档中没有任何提及存储,向量检索,以及索引创建等内容。
帮助文档中也没有任何与vector有关的函数。官方可能后续会在社区版引入vector检索,让我们慢慢期待吧。