MySQL
| PostgreSQL
| SQL Server
このページでは、MySQL データ定義言語(DDL)ステートメントに対する Cloud SQL 拡張機能の構文を定義します。
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
: 必須。2 つのベクトルの類似性を計算する数式。このパラメータには、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
: 必須。2 つのベクトルの類似性を計算する数式。このパラメータには、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 でのベクトル検索の概要を確認する。
- インスタンスでベクトル エンベディングを有効または無効にする方法を学習する。
- ベクトル エンベディングを生成する方法を学習する。
- ベクトル インデックスを作成する方法を確認する。
- ベクトル エンベディングで検索を行う方法を学習する。