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;
参数说明¶
属性 |
值 |
|---|---|
变量类型 |
|
作用域 |
|
是否动态 |
是 |
默认值 |
|
可选值 |
|
示例¶
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 在未来的版本中可能会发生变化。