MySQL 9.0到9.3各版本的主要新特性总结,结合了官方文档和社区
MySQL 9.0 新特性
- 向量数据类型(VECTOR)
- 支持存储多维数据(4字节浮点数),适用于机器学习、数据科学等场景。
- 默认最大维度2048,支持最大16383。
- 提供 STRING_TO_VECTOR、VECTOR_TO_STRING 等转换函数。
- JavaScript 存储程序支持
- 允许在数据库中直接编写 JavaScript 存储过程和函数(仅限企业版)。
- EXPLAIN ANALYZE 的 JSON 输出存储
- 支持将 EXPLAIN ANALYZE FORMAT=JSON 的结果保存到用户变量,便于查询优化分析。
- 安全性增强
- 弃用 mysql_native_password 插件,强制使用更安全的认证方式。
- 移除 SHA-1,改用更安全的哈希算法。
- 预处理语句扩展
- 支持在预处理语句中使用 CREATE EVENT、ALTER EVENT 等 DDL 命令。
- 性能模式新增表
- 新增 variables_metadata 和 global_variable_attributes 表,便于监控系统变量。
MySQL 9.1 新特性
- 触发器处理优化
- 触发器解析改为两阶段:先读取元数据,仅在数据修改时完整解析,减少只读查询的资源消耗。
- 新增状态变量 Table_open_cache_triggers_hits 和 Table_open_cache_triggers_misses 监控缓存使用情况。
- EXPLAIN 命令增强
- 显示多范围读取(MRR)、半连接策略等详细信息,优化查询分析。
- CREATE VIEW IF NOT EXISTS
- 避免重复创建视图时的报错,仅发出警告。
- 崩溃安全的数据库操作
- CREATE DATABASE 和 DROP DATABASE 支持原子 DDL,确保操作失败时数据一致。
- JavaScript 存储程序支持 VECTOR 类型
- 允许在 JavaScript 存储过程中使用向量数据类型,适用于机器学习场景。
- 企业版功能增强
- 新增复制应用程序指标,提升复制监控能力。
- 支持 OpenID Connect 身份验证,集成企业 SSO 系统。
- 新增 Option Tracker 组件,统一管理服务器配置选项。
MySQL 9.2 新特性
- JavaScript 库支持
- 新增 CREATE LIBRARY 和 DROP LIBRARY,支持可复用的 JavaScript 代码模块。
- 可通过 library_name.function_name 调用库函数。
- JavaScript 事务 API
- 支持事务控制(START TRANSACTION、COMMIT、ROLLBACK)和保存点。
- SQL 存储例程调用
- 在 JavaScript 中可直接调用 MySQL 存储函数和存储过程。
- ENUM 和 SET 类型支持
- JavaScript 存储程序支持 MySQL 的 ENUM 和 SET 数据类型。
- EXPLAIN FORMAT=JSON 版本控制
- 新增 explain_json_format_version 变量,支持 JSON 格式版本切换(1或2)。
- 临时表索引增强
- 允许在临时表上创建索引,提升查询性能。
- 窗口函数扩展
- 新增 ROW_NUMBER()函数,支持分页和行号计算。
MySQL 9.3 新特性
- 用户管理与备份优化
- mysqldump 新增–users 选项,支持导出用户权限脚本。
- JavaScript 生态增强(企业版专属)
- 支持 DECIMAL 类型、本地化格式化(如 Intl 对象)。
- 高可用性改善
- 组复制(Group Replication)主选举优化,优先选择事务延迟最小的节点。
- 查询优化器改善
- 子查询优化扩展(如 >ANY、<ALL 转换为派生表连接)。
- 兼容性问题
- 禁止同系列版本降级(如9.3.1→9.3.0),增加运维风险。
版本对比与总结
版本 |
核心改善 |
适用场景 |
9.0 |
向量计算、JavaScript 支持 |
AI/ML、企业级开发 |
9.1 |
触发器优化、崩溃安全 DDL |
高并发 OLTP、企业复制 |
9.2 |
JavaScript 库、事务 API |
复杂存储逻辑、微服务 |
9.3 |
用户管理、组复制优化 |
运维自动化、高可用集群 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
功能越来越强大