The REFRESH_INDEX procedure is used to incrementally refresh a vector index.
Syntax
PROCEDURE refresh_index(
IN idx_name VARCHAR(65535),
IN table_name VARCHAR(65535),
IN idx_vector_col VARCHAR(65535) DEFAULT NULL,
IN refresh_threshold INT DEFAULT 10000,
IN refresh_type VARCHAR(65535) DEFAULT NULL);
Parameters
| Parameter | Description |
|---|---|
| idx_name | The name of the index. |
| table_name | The name of the table. |
| idx_vector_col | The name of the vector column. |
| refresh_threshold | The number of incremental data records. |
| refresh_type | The refresh type. Valid value: FAST. |
Examples
Create a test table.
CREATE TABLE vector_index_test(c1 INT, c2 VECTOR(3), PRIMARY KEY(c1), VECTOR INDEX idx1(c2) WITH (distance=l2, type=hnsw, lib=vsag));
Write test data.
INSERT INTO vector_index_test VALUES(1, '[0.203846,0.205289,0.880265]');
INSERT INTO vector_index_test VALUES(2, '[0.484526,0.669954,0.986755]');
INSERT INTO vector_index_test VALUES(3, '[0.327936,0.048756,0.084670]');
INSERT INTO vector_index_test VALUES(4, '[0.148869,0.878546,0.028024]');
INSERT INTO vector_index_test VALUES(5, '[0.334970,0.857377,0.886132]');
INSERT INTO vector_index_test VALUES(6, '[0.117582,0.302352,0.471198]');
INSERT INTO vector_index_test VALUES(7, '[0.551185,0.231134,0.075354]');
INSERT INTO vector_index_test VALUES(8, '[0.185221,0.315131,0.558301]');
INSERT INTO vector_index_test VALUES(9, '[0.928764,0.254038,0.272721]');
Trigger an update.
-- Trigger incremental update.
CALL DBMS_VECTOR.REFRESH_INDEX('idx1', 'vector_index_test', 'c2', 1, 'FAST');