experimental_ivfpq_index

experimental_ivfpq_index 系统变量控制是否启用 IVF-PQ(Inverted File with Product Quantization)向量索引插件。设为 0(默认值)时,CREATE INDEX ... USING ivfpq 语句 将被拒绝。在创建或重建 IVF-PQ 索引之前将其设为 1。IVF-PQ 使用乘积量化压缩向量数据, 索引构建需要 GPU 硬件。这是由会话级别标志控制的实验性功能。

experimental_ivfpq_index 系统变量控制 MatrixOne 中 IVF-PQ 向量索引算法的访问权限。 IVF-PQ 结合了倒排文件分区与乘积量化,可在超大规模向量数据集上以更小的内存占用实现高效 的近似最近邻搜索。索引构建需要 GPU。由于这是实验性功能,该变量默认值为 0,必须显式启 用才能使用。

语法

SET GLOBAL experimental_ivfpq_index = 0; SET SESSION experimental_ivfpq_index = 1;

查询当前值:

SHOW VARIABLES LIKE ‘experimental_ivfpq_index’; SELECT @@experimental_ivfpq_index; SELECT @@global.experimental_ivfpq_index;

参数说明

属性

变量类型

bool

作用域

Both

是否动态

默认值

0

可选值

01

示例

DROP DATABASE IF EXISTS ivfpq_demo;
CREATE DATABASE ivfpq_demo;
USE ivfpq_demo;

SET experimental_ivfpq_index = 1;

SELECT @@experimental_ivfpq_index;
SELECT @@global.experimental_ivfpq_index;

SET experimental_ivfpq_index = 0;

DROP DATABASE ivfpq_demo;

限制

  • experimental_ivfpq_index 默认为 0。在此变量为 0 时尝试 CREATE INDEX ... USING ivfpq 会导致操作失败。

  • IVF-PQ 需要 GPU 硬件进行索引构建,无法在纯 CPU 版本的 MatrixOne 上使用。

  • 这是实验性功能。其行为、性能特性和 API 在未来的版本中可能会发生变化。