内容目录
介绍
MySQL 9.0版本已经发布,目前Release Note生成的时间为:2024-07-12
。我们来看看有哪些新特性。
存储过程/函数支持JavaScript
这个特新在MySQL的企业版中支持(跟我们常用的社区版没啥关系~,而且后端的朋友也不一定会使用JavaScript来创建一个Function)。
值得一提的是MySQL使用多语言引擎(MLE)支持。
来看看官方给的Demo:
CREATE FUNCTION gcd(a INT, b INT)
RETURNS INT
NO SQL
LANGUAGE JAVASCRIPT AS
$mle$
let x = Math.abs(a)
let y = Math.abs(b)
while(y) {
var t = y
y = x % y
x = t
}
return x
$mle$
;
向量类型支持
MySQL 9.0 支持 VECTOR 列类型。向量是一种数据结构,由一列表面元组(4 字节浮点值)组成,值的表示方法可以是二进制字符串,也可以是列表格式的字符串。
MySQL支持向量数据库是为了能够支持数据分析和人工智能吗?
看个官方Demo:
mysql> CREATE TABLE v1 (c1 VECTOR(5000));
mysql> SELECT STRING_TO_VECTOR('[2, 3, 5, 7]');
+------------------------------------------------------+
| TO_VECTOR('[2, 3, 5, 7]') |
+------------------------------------------------------+
| 0x00000040000040400000A0400000E040 |
+------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT VECTOR_TO_STRING(0x00000040000040400000A0400000E040);
+------------------------------------------------------+
| VECTOR_TO_STRING(0x00000040000040400000A0400000E040) |
+------------------------------------------------------+
| [2.00000e+00,3.00000e+00,5.00000e+00,7.00000e+00] |
+------------------------------------------------------+
1 row in set (0.00 sec)
外键约束增强
保存 EXPLAIN ANALYZE 的 JSON 输出
DDL event支持create, alter, drop
移除了mysql_native_password
总结
MySQL 9.0的更新看起来貌似不太给力。平时我们也不使用外键,函数和存储过程类,你优化下性能也好也。不过这些咱说了都不算~