MySQL 9.2.0 的功能
MySQL 9.2.0 的功能
MySQL 9.2.0 的功能新增、弃用和删除内容如下:
新增功能
- 权限新增12:引入了
CREATE_SPATIAL_REFERENCE_SYSTEM
权限,拥有该权限的用户可执行CREATE SPATIAL REFERENCE SYSTEM
、CREATE OR REPLACE SPATIAL REFERENCE SYSTEM
、DROP SPATIAL REFERENCE SYSTEM
语句,若无此权限或SUPER
权限,执行上述语句会引发错误。 - JavaScript 库支持2
- 库管理语句:新增
CREATE LIBRARY
和DROP LIBRARY
语句用于创建和删除 JavaScript 库,创建时会解析并检查 JavaScript 代码有效性。还新增SHOW CREATE LIBRARY
语句,可查看现有 JavaScript 库代码。 - 函数调用与别名:JavaScript 存储程序中可通过
library_name.function_name
格式调用库中函数,CREATE FUNCTION
或CREATE PROCEDURE
时,USING
子句允许为库设置别名。 - 信息表:引入
LIBRARIES
和ROUTINE_LIBRARIES
两张 Information Schema 表,分别列出所有 JavaScript 库详细信息和使用了 JavaScript 库的存储例程信息。 - 状态变量:新增
Com_create_library
、Com_drop_library
、Com_show_create_library
状态变量,用于统计对应语句的执行次数。
- 库管理语句:新增
- JavaScript 与 SQL 集成增强2
- 存储例程访问:MLE 组件的 JavaScript 例程可通过
Schema
对象的getFunction()
和getProcedure()
方法访问 MySQL 存储函数和存储过程。 - 会话变量访问:可通过 JavaScript 的全局
Session
对象直接访问 MySQL 用户变量,以属性形式呈现。 - 内置函数调用:支持直接通过全局
Mysql
对象调用rand()
、sleep()
、uuid()
、isUUID()
等内置函数,分别对应 MySQL 的RAND()
、SLEEP()
、UUID()
、IS_UUID()
函数。
- 存储例程访问:MLE 组件的 JavaScript 例程可通过
- JavaScript 事务支持2:MLE 组件提供 JavaScript MySQL 事务 API,支持
START TRANSACTION
、COMMIT
、ROLLBACK
、SET AUTOCOMMIT
操作和事务保存点功能,还引入SqlError
对象用于处理 SQL 语句执行错误。 - 数据类型支持扩展2:JavaScript 存储例程的参数支持 MySQL 的
ENUM
和SET
数据类型。 - EXPLAIN 输出改进1:
EXPLAIN FORMAT=JSON
在设置explain_json_format_version=2
时,输出会添加格式版本信息。
弃用功能
- 语句弃用:
FLUSH PRIVILEGES
语句已弃用,执行时会发出警告。 - 系统变量弃用:
version_tokens_session
和version_tokens_session_number
服务器系统变量被弃用,尝试安装version_tokens
插件,或在安装此插件的情况下启动服务器,也会发出弃用警告。
删除功能
MySQL 9.2.0 官方文档中暂时没有明确有功能被删除。