最新发布!MySQL 9.0 的向量 (VECTOR) 类型文档更新

7月1日,MySQL 9.0.0 创新版本, 8.4.1 LTS, 8.0.38 三版齐发。

发版当天安装包已经可以下载,我也在第一时间做了分享:

  • MySQL 9.0.0 新鲜出炉!支持向量类型

当时参考手册还未上线,这两天文档虽已上线,但似乎仍在更新中,大家关注的向量数据类型也从文档中找不到踪影。

不过,在最新版本的文档中 (Document generated on: 2024-07-03 (revision: 78966)),数据类型章节已经添加了 VECTOR 页面。

最新发布!MySQL 9.0 的向量 (VECTOR) 类型文档更新-1

下面来看看具体描述。

新功能

https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html

MySQL 9.0 新功能:支持 VECTOR 类型

MySQL 9.0 支持 VECTOR 列类型。向量是一种数据结构,由条目列表(4 字节浮点值)组成,可以表示为二进制字符串值或列表格式的字符串。VECTOR 列声明有最大长度或条目数(在括号中);默认值为 2048,最大值为 16383。

VECTOR_DIM()(也在 MySQL 9.0 中添加)返回向量的长度。提供了转换函数。STRING_TO_VECTOR()(别名:TO_VECTOR())采用向量的列表格式表示并返回二进制字符串表示;VECTOR_TO_STRING()(别名:FROM_VECTOR())执行相反的操作,如下所示:

mysql> SELECT STRING_TO_VECTOR('[2, 3, 5, 7]'); +--------------------------------------------------------------------+ | STRING_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)