MySQL | PostgreSQL | SQL Server
本頁面定義 Cloud SQL 擴充功能的 MySQL 資料定義語言 (DDL) 陳述式語法。
VECTOR 陳述式
本節提供 VECTOR
陳述式的相關資訊。
CREATE VECTOR INDEX
建立向量索引。
CREATE VECTOR INDEX index_name
[opt_index_type]
ON table_name (column_name)
[index_options]
where opt_index_type is:
| USING SCANN
where index_option is :
USING SCANN
| [QUANTIZER=SQ8]
| [NUM_LEAVES=int_value]
| DISTANCE_MEASURE=L2_SQUARED|DOT_PRODUCT|COSINE
參數
USING SCANN
:必要。建立向量索引時要使用的索引類型。這個演算法會建立 ScaNN 索引。SCANN
是唯一支援的值。您無法修改這個參數。QUANTIZER
:選用。這個參數會將高維向量對應至壓縮表示法。SQ8
是唯一支援的值。您無法修改這個參數。NUM_LEAVES
:選用。指定要建構的分區 (葉節點) 數量。只有在您充分瞭解 ANN 搜尋和資料集時,才變更這項設定的預設���。���定的數���不������過主資料表中的嵌入數量。DISTANCE_MEASURE
:必要。用於計算兩個向量相似度的數學公式。您必須在這個參數中設定與approx_distance
搜尋選項中距離相同的測量單位。支援的橫向有:L2_SQUARED
COSINE
DOT_PRODUCT
示例
下列範例說明如何在 table_name
資料表上建立向量索引
CREATE
VECTOR INDEX index1
ON table_name(vector_column_name)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;
ALTER TABLE
將向量索引新增至現有資料表。向量搜尋需要 SCANN
做為索引選項,而量化類型必須為 SQ8
。
ALTER TABLE table_name
ADD VECTOR INDEX index_name(key_part)[index_option];
WHERE key_part is:{ _col_name_[(_length_)] | (_expr_) }
WHERE
index_option
is:USING
SCANN
| [QUANTIZER = SQ8]
| [NUM_LEAVES = int_value]
| DISTANCE_MEASURE
= L2_SQUARED | DOT_PRODUCT | COSINE
參數
USING SCANN
:必要。建立向量索引時要使用的索引類型。這個演算法會建立 ScaNN 索引。SCANN
是唯一支援的值。您無法修改這個參數。QUANTIZER
:選用。這個參數會將高維向量對應至壓縮表示法。SQ8
是唯一支援的值。您無法修改這個參數。NUM_LEAVES
:選用。指定要建構的分區 (葉節點) 數量。只有在您充分瞭解 ANN 搜尋和資料集時,才變更這項設定的預設值。指定的數字不得超過主資料表中的嵌入數量。DISTANCE_MEASURE
:必要。用於計算兩個向量相似度的數學公式。您必須在這個參數中設定與approx_distance
搜尋選項中距離相同的測量單位。支援的橫向有:L2_SQUARED
COSINE
DOT_PRODUCT
示例
以下範例說明如何在 t1
資料表上新增向量索引。
ALTER TABLE t1 ADD VECTOR INDEX index1(j)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;
後續步驟
- 請參閱 Cloud SQL 向量搜尋簡介。
- 瞭解如何在執行個體上啟用及停用向量嵌入項目。
- 瞭解如何產生向量嵌入項目。
- 瞭解如何建立向量索引。
- 瞭解如何針對向量嵌入執行搜尋。