experimental_ivfpq_index

The experimental_ivfpq_index system variable controls whether the IVF-PQ (Inverted File with Product Quantization) vector index plugin is enabled. When set to 0 (default), CREATE INDEX ... USING ivfpq statements are rejected. Set it to 1 before creating or rebuilding an IVF-PQ index. IVF-PQ compresses vector data using product quantization and requires GPU hardware for index construction. This is an experimental feature gated by a session-level flag.

The experimental_ivfpq_index system variable gates access to the IVF-PQ vector index algorithm in MatrixOne. IVF-PQ combines inverted file partitioning with product quantization to enable efficient approximate nearest neighbor search on very large vector datasets with reduced memory footprint. Index construction requires a GPU. Because this is an experimental feature, the variable defaults to 0 and must be explicitly enabled before use.

Syntax

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

Query the current value:

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

Arguments

Property

Value

Variable Type

bool

Scope

Both

Dynamic

Yes

Default Value

0

Optional Value

0, 1

Examples

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;

Constraints

  • experimental_ivfpq_index defaults to 0. Attempting CREATE INDEX ... USING ivfpq while the variable is 0 causes the operation to fail.

  • IVF-PQ requires GPU hardware for index construction. It will not function on CPU-only builds of MatrixOne.

  • This is an experimental feature. Its behavior, performance characteristics, and API may change in future releases.