数据类型

MatrixOne 数据类型定义与 MySQL 习惯大体一致,并扩展了 VECTORDATALINK 等类型。下表给出产品侧常用类型与范围摘要;未列出的细节以实例引擎行为为准。

整数

类型

存储

有符号范围(摘要)

无符号

TINYINT

1 字节

-128 ~ 127

0 ~ 255

SMALLINT

2 字节

-32768 ~ 32767

0 ~ 65535

INT

4 字节

约 ±2.1e9

0 ~ 约 4.2e9

BIGINT

8 字节

约 ±9.2e18

0 ~ 约 1.8e19

浮点与精确小数

类型

说明

FLOAT / FLOAT32

单精度;可写 FLOAT(M,D) 控制显示精度(M、D 有上限)

DOUBLE / FLOAT64

双精度;可写 DOUBLE(M,D)

DECIMAL

精确数值;适合金额等需定点的场景

浮点有舍入误差;财务与计数优先 DECIMAL

字符串与二进制

类型

说明

CHAR / VARCHAR

定长 / 变长字符串

BINARY / VARBINARY

二进制串

TEXT / BLOB

长文本 / 二进制大对象(不区分 TINY/MEDIUM/LONG 等子类型命名时按统一大对象处理)

ENUM

枚举:取值来自预定义字符串列表,内部以整数表示

BIT(M)

位串,M 为 1~64,默认 1

日期与时间

类型

说明

DATE

日期

TIME

时间

DATETIME

日期时间

TIMESTAMP

时间戳(时区相关行为受 time_zone 等影响)

YEAR

年份

TIMESTAMP 默认值、ON UPDATE 等初始化规则与 MySQL 类似,但以当前实例支持情况为准。

JSON

用于存储 JSON 文档。可用 JSON_EXTRACTJSON_EXTRACT_STRINGJSON_EXTRACT_FLOAT64JQ / TRY_JQ 等函数查询与变换(见函数)。

UUID

UUID 类型,配合 UUID() 等函数生成通用唯一标识。

VECTOR(向量)

面向 embedding / 相似度检索:

要点

说明

元素类型

目前为 vecf32(float32)、vecf64(float64)

维度

建列时指定,如 vecf32(768);维度上限很高(文档常见上限约 65536)

形态

一维向量,不是通用多维矩阵

约束

不能作为主键或唯一键

检索

配合 L2_DISTANCECOSINE_SIMILARITYINNER_PRODUCT 等与向量索引(如 IVF Flat)使用

CREATE TABLE t1 (
  id INT,
  emb vecf32(3)
);

插入格式支持字面量数组等形式(具体字面量写法以客户端与版本为准)。

类型转换

  • 隐式转换:表达式两侧类型不一致时,引擎按规则提升或转换;失败则报错。

  • 显式转换:使用 CAST()CONVERT()BINARY() 等(见运算符)。

相关页面