MySQL 9.0 创新版发布,大失所望。。

大家好,我是程序员鱼皮。2024 年 7 月 1 日,MySQL 发布了 9.0 创新版本。区别于我们大多数开发者常用的 LTS(Long-Term Support)长期支持版本,创新版本的发布会更频繁、会更快地推出新的特性和变更,可以理解为 “尝鲜版”,适合追求前沿技术的同学体验。

我通过阅读官方文档,完整了解了本次发布的新特性,结果怎么说呢,唉,接着往下看吧。。。

下面鱼皮带大家 “尝尝鲜”,来看看 MySQL 9.0 创新版本有哪些主要的变化。

新特性

1、Event 相关 SQL 语句可以被 Prepared

在 MySQL 中,事件(Events)是一种可以在预定时间执行的调度任务,比如定期清理数据之类的,就可以使用事件。

MySQL 9.0 对事件 SQL 提供了 Prepared 支持,包括:

  • CREATE EVENT
  • ALTER EVENT
  • DROP EVENT

prepared 准备语句是一种预编译的 SQL 语句模板,可以在执行时动态地传入参数,从而提高查询的性能和安全性。

比如下面就是一个准备语句,插入的数据可以动态传入:

PREPARE stmt_insert_employee FROM 'INSERT INTO employees (name, salary) VALUES (?, ?)';
2、Performance Schema 新增 2 张表

MySQL 的 Performance Schema 是一个用于监视 MySQL 服务器性能的工具。它提供了一组动态视图和表,记录了 MySQL 服务器内部的活动和资源使用情况,帮助开发者进行性能分析、调优和故障排除。

本次新增的表:

  1. variables_metadata 表:提供关于系统变量的一般信息。包括 MySQL 服务器识别的每个系统变量的名称、作用域、类型、范围和描述。此表的 MIN_VALUE 和 MAX_VALUE 列旨在取代已弃用的 variables_info 表的 MIN_VALUE 和 MAX_VALUE 列。
  2. global_variable_attributes 表:提供有关服务器分配给全局系统变量的属性-值对的信息。
3、SQL 语句优化

现在可以使用以下语法将 EXPLAIN ANALYZE(分析查询执行计划和性能的工具)的 JSON 输出保存到用户变量中:

EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt

随后,可以将这个变量作为 MySQL 的任何 JSON 函数的 JSON 参数使用。

4、向量存储

AI 的发展带火了向量数据库,我们可以利用向量数据库存储喂给 AI 的知识库和文档。

虽然 MySQL 官方更新日志中并没有提到对于向量数据存储的支持,但是网上有博主在 MySQL 9.0 社区版中进行了测试,发现其实已经支持了向量存储,如图:

图片来源于网络

在此之前,MySQL 推出过一个专门用于分析处理和高性能查询的数据库变体 HeatWave,本来以为只会在 HeatWave 中支持向量存储,没想到社区版也能使用。如果是真的,那可太好了。

5、其他

此外,还优化了 Windows 系统上 MySQL 的安装和使用体验。

废弃和移除

1)在 MySQL 8.0 中,已移除了在 MySQL 8.0 中已废弃的 mysql_native_password 认证插件,并且服务器现在拒绝来自没有 CLIENT_PLUGIN_AUTH 能力的旧客户端程序的 mysql_native 认证请求。为了向后兼容性,mysql_native_password 仍然在客户端上可用;客户端内置的认证插件已转换为动态加载插件。

这些更改还涉及移除以下服务器选项和变量:

  • –mysql-native-password 服务器选项
  • –mysql-native-password-proxy-users 服务器选项
  • default_authentication_plugin 服务器系统变量

2)Performance Schema 中 variables_info 表的 MIN_VALUE 和 MAX_VALUE 列现在已废弃,并可能在将来的 MySQL 版本中移除。开发者应该改为使用 variables_metadata 表的 MIN_VALUE 和 MAX_VALUE 列。

3)ER_SUBQUERY_NO_1_ROW 已从忽略包含 IGNORE 关键字的语句的错误列表中移除。这样做的原因如下:

  • 忽略这类错误有时会导致将 NULL 插入非空列(对于未转换的子查询),或者根本不插入任何行(使用 subquery_to_derived 的子查询)。
  • 当子查询转换为与派生表联接时,行为与未转换查询不同。

升级到 9.0 后,如果包含 SELECT 语句的 UPDATE、DELETE 或 INSERT 语句使用了包含多行结果的标量子查询,带有 IGNORE 关键字的语句可能会引发错误。

总结

看了本次 MySQL 9.0 创新版的更新,说实话,大失所望。在这之前,网上有很多关于 MySQL 9.0 版本新特性的猜测,结果基本上都没有出现。毕竟距离 MySQL 上一次发布的大版本 8.0 已经时隔 6 年,本来以为这次 MySQL 会有一些王炸的新特性,结果呢,本次除了修复了 100 多个 Bug 之外,几乎没啥对开发者有帮助的点。别说没帮助了,我估计很多同学在看这篇文章前都没接触过这些有变更的特性。

我们最关注的,无非就是使用难度、成本和性能提升对吧,最好是什么代码都不用改,直接升级个数据库的版本,性能提升个几倍,还能跟老板吹一波牛皮。

你看看隔壁的 PostgreSQL,这几年,都已经从 11 更新到 17 版本了,AI 时代人家也早就能通过插件支持存储向量数据了。MySQL 你这真的是创新么?

最后,MySQL 9.0 创新版本的下载地址我就不放了,咱还是老老实实用 5.7 和 8.0 版本,MySQL 的新版本,还有很长一条路要走呀!

更多

💻 编程学习交流:编程导航
📃 简历快速制作:老鱼简历
✏️ 面试刷题神器:面试鸭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python库(5):Psutil库实现系统和硬件监控工具

1 psutil简介 psutil(process and system utilities)是一个跨平台库,用于检索运行中进程和系统利用率(包括 CPU、内存、磁盘、网络等)的信息,可以提供丰富的系统监控功能。 2 psutil安装 pip install -i …

CSS中 实现四角边框效果

效果图 关键代码 border-radius:10rpx ;background: linear-gradient(#fff, #fff) left top,linear-gradient(#fff, #fff) left top,linear-gradient(#fff, #fff) right top,linear-gradient(#fff, #fff) right top,linear-gradient(#fff, #fff) left bottom,linear-gradient(…

BeikeShop多国语言多货币商城系统源码基于Laravel框架

BeikeShop是基于 Laravel 开发的一款开源商城系统,支持多语言商城 多货币商城 100%全开源 ChatGPT OpenAI B2C商城系统 H5商城 PHP商城系统 商城源码 PC商城 跨境电商系统 跨境商城系统 电商商城系统 Laravel 10 框架开发系统,支持插件市场。 Event 机制…

配置基于不同端口的虚拟主机

更改配置文件&#xff0c;添加三个不同端口的虚拟主机 <directory /www> allowoverride none require all granted </directory><virtualhost 192.168.209.136:80> documentroot /www servername 192.168.209.136 </virtualhost><virtualhost 192.…

74. 搜索二维矩阵【二分法】【C++】

题目描述 搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&…

CTF入门知识点

CTF知识点 md5函数 <?php$a 123;echo md5($a,true); ?> 括号中true显示输出二进制 替换成false显示输出十六进制绕过 ffifdyop 这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c&#xff0c;这个字符串前几位刚好是 or 6 而 Mysql 刚好又会把 …

【向量数据库|一文全面了解向量数据库的基本概念、原理、算法、选型】

文末有福利&#xff01; 向量数据库的原理和实现&#xff0c;包括向量数据库的基本概念、相似性搜索算法、相似性测量算法、过滤算法和向量数据库的选型等等。向量数据库是崭新的领域&#xff0c;目前大部分向量数据库公司的估值乘着 AI 和 GPT 的东风从而飞速的增长&#xff…

C++ 智能指针使用不当导致内存泄漏问题

shared_ptr相互嵌套导致循环引用 代码示例 #include <iostream> #include <memory> using namespace std;class B;class A { public:std::shared_ptr<B> b_ptr;~A() { std::cout << "A destroyed\n"; } };class B { public:std::shared_pt…

【代码随想录——图论——岛屿问题】

1.岛屿数量 https://kamacoder.com/problempage.php?pid1171 1.1 深度优先搜索 package mainimport "fmt"var direction [][]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}}func main() {var M, N intfmt.Scanln(&N, &M)sea : make([][]int, N)visited : make…

LabVIEW图像分段线性映射

介绍了如何使用LabVIEW对图像进行分段线性映射处理&#xff0c;通过对特定灰度值区间进行不同的线性映射调整&#xff0c;以优化图像的显示效果。案例中详细展示了如何配置和使用LabVIEW中的图像处理工具&#xff0c;包括设置分段区间、计算映射参数和应用映射函数等步骤。 实…

【论文阅读】VASA-1: Lifelike Audio-Driven Talking FacesGenerated in Real Time

整体框架。不直接生成视频帧&#xff0c;而是在潜在空间中生成整体面部动态和头部运动&#xff0c;条件是音频和其他信号。给定这些运动潜在编码&#xff0c;通过面部解码器生成视频帧&#xff0c;还接受从输入图像中提取的外观和身份特征作为输入。 构建了一个面部潜在空间并…

Mac系统清理工具:您的数字生活杂务处理师

有没有觉得您的Mac有时候像是需要一个好的春季大扫除一样&#xff1f;随着我们不断使用电脑&#xff0c;各种不需要的文件、老旧的数据和忘记的安装包就像家里的灰尘一样慢慢积累。幸运的是&#xff0c;有了一些出色的Mac系统清理工具&#xff0c;我们可以轻松将这些数字灰尘拂…

Wireshark网络抓包工具入门指南

目录 引言 安装抓包工具 抓包基础概念 抓包步骤 流程 抓包工具头的分析 14.3 以太网的完整帧格式 粘包与拆包现象解析及解决方案 发生原因 解决方案 14.3.1以太网头 14.3.2 IP头 14.3.3 UDP头 14.3.4 TCP头 引言 Wireshark是一款功能强大的开源网络协议分析器&am…

RAG :vector embeddings 怎么关联使用

构建检索增强生成&#xff08;RAG&#xff09;系统的关键因素之一&#xff1a;向量嵌入( vector embeddings )。这些元素是基本的技术和转换工具&#xff0c;使 RAG 系统在某些方面能够以类似于人类理解的形式处理语言。 embedding 提供了一种将文本信息转换为数字数据的方法。…

MFC常见问题解决

文章目录 1. 单文档程序初始化显示设置问题解决方案 1. 单文档程序初始化显示设置 问题 在Microsoft Foundation Classes (MFC) 中&#xff0c;单文档应用程序&#xff08;SDI&#xff09;的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序启动时将其设置为全屏…

微信小程序的校园点餐系统-计算机毕业设计源码56979

摘 要 近年来&#xff0c;随着移动互联网的迅猛发展&#xff0c;微信小程序作为一种轻量级应用形式逐渐受到人们的关注和喜爱。在此背景下&#xff0c;各行各业开始向微信小程序上线他们的服务&#xff0c;其中包括餐饮行业&#xff0c;在校园内&#xff0c;学生、教职工和访客…

Arthas实战(5)- 项目性能调优

1、接口耗时查询&#xff1a;trace命令 trace 命令能主动搜索 class-pattern&#xff0f;method-pattern 对应的方法调用路径&#xff0c;渲染和统计整个调用链路上的所有性能开销和追踪调用链路。 1.1 准备测试应用 新建一个 SpringBoot 应用&#xff0c;写一耗时久的代码&…

能否免费使用Adobe XD?

Adobe XD不是免费的。Adobe 目前XD采用订阅模式&#xff0c;提供订阅模式 7 每天试用期结束后需要付费购买&#xff0c;具体价格根据不同的订阅计划确定&#xff0c;包括每月购买&#xff0c;包括 9.99 美元或每月 99.99 美元&#xff0c;或者选择购买Adobe CreativeCloud整体订…

内核错误定位

内核打印出如下&#xff1a; 在代码目录输入&#xff1a; ./prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb kernel/vmlinux 进入gdb 命令模式 输入 l *(rk628_csi_probe0xf0) 能定位到出现问题地方。 最后就…

android iconfont带图标的图文并茂的一种实现

android实现图文并茂方法很多。 这里针对&#xff0c;仅本地图标&#xff0c;需要对齐&#xff0c;任意位置&#xff0c;兼容换行导致后面空白的问题做的一种方案。 www.iconfont.cn&#xff0c;注册&#xff1b; 上传svg的icon&#xff1b; 下载项目得到iconfont.ttf&#xf…