このページの情報の一部またはすべては、S3NS の Trusted Cloud には適用されない場合があります。
Cloud SQL 関数
MySQL
| PostgreSQL
| SQL Server
このページでは、Cloud SQL 関数について説明します。
ベクトル変換関数
次の表に、SELECT
ステートメントでベクトル情報の操作に使用できる関数を示します。
関数 |
|
説明 |
vector_to_string |
入力: VECTOR 出力: STRING
|
引数を、人が読めるベクトル形式の文字列に変換します。 入力: VECTOR 型の 1 つの引数
出力: 文字列
構文:
vector_to_string(some_embedding)
|
string_to_vector |
入力: STRING 出力: VECTOR
|
文字列を、人が読めるベクトル形式に変換します。これにより、ベクトルで表す値を記述できます。 入力: 文字列
構文:
string_to_vector('some_embedding')
出力: ベクトル型の 1 つの値。
|
検索関数
このセクションでは、Cloud SQL 検索関数について説明します。
KNN 関数
次の表に、KNN ベクトル距離の計算に使用できる関数を示します。
関数 |
データ型 |
説明 |
vector_distance |
入力: VECTOR 出力: REAL
|
2 つの VECTOR 間のベクトル距離を計算します。2 つの VECTOR は同じディメンションにする必要があります。入力: 必須。2 つのベクトル値を取ります。3 番目の文字列引数(省略可)は距離の測定値を示します。デフォルトは「l2_squared_distance」です。他のオプションには、cosine_distance と dot_product があります。
出力: 2 つのベクトル間の距離。
例:
SELECT vector_distance(string_to_vector('[1,-2,3]'), string_to_vector('[1,2,3]'), 'Distance_Measure=dot_product');
|
cosine_distance |
入力: VECTOR 出力: REAL
|
2 つのベクトル間の角度のコサインを計算するアルゴリズム。値が小さいほど、ベクトル間の類似度が高くなります。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力: 2 つのベクトル間のコサイン距離。
例:
SELECT cosine_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY cosine_distance(string_to_vector('[1,2,3]'), embedding_column_name)
LIMIT 10;
|
dot_product |
入力: VECTOR 出力: REAL
|
2 つの入力ベクトルの間のドット積演算を実行して、単一のスカラー値を計算して出力するアルゴリズム。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力: 2 つのベクトル積。
例:
SELECT dot_product(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id FROM t1 ORDER BY dot_product(string_to_vector('[1,2,3]'), embbeding_column_name) LIMIT 10;
|
l2_squared_distance |
入力: VECTOR 出力: REAL
|
2 つの入力ベクトル間の各ディメンションの二乗距離を加算して、それらの間のユークリッド距離を測定するアルゴリズム。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力: 2 つのベクトル間の L2 二乗距離。
例:
SELECT l2_squared_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY l2_squared_distance(string_to_vector('[1,2,3]'), embbeding_column_name)
LIMIT 10;
|
ANN 関数
次の表に、ベクトル距離の計算に使用できる関数を示します。
関数 |
データ型 |
説明 |
approx_distance |
入力: VECTOR 出力: REAL
|
選択したアルゴリズムを使用して、距離の測定値を満たす Top-K の最も近い行を見つけます。この関数は、ベクトル列から定数値への近似最近傍をクエリします。2 つのエンベディング列の VECTOR 型と定数 VECTOR は同じディメンションである必要があります。この関数は、ANN 検索ではなく KNN(完全一致検索)検索にフォールバックする場合があります。この関数を使用するクエリには、上限を含める必要があります。構文:
approx_distance(embedding_name,
query_vector,
'distance_measure=algorithm_name
[, num_leaves_to_search=value]'
入力:
- embedding_name: ベーステーブルのベクトル エンベディング列名。
- query_vector:
string_to_vector の出力にできる(必須ではありません)「VECTOR」型の定数。
- カンマ区切りの検索文字列のオプションは次のとおりです。
例:
'distance_measure=dot_product,
num_leaves_to_search=100'
必須の LIMIT 値: 指定された上限は、返される近傍の数(Top-K とも呼ばれます)として使用されます。
出力: ベーステーブルの Top-K の最も近い行の近似距離。
この関数は、ORDER BY リストまたは SELECT リストでのみ使用できます。
例:
SELECT id, approx_distance(embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=cosine') dist from t1
ORDER BY dist LIMIT 10;
SELECT id
FROM t1
ORDER BY
approx_distance(
embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=dot_product,num_leaves_to_search=100) LIMIT 4;
|
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-02 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-02 UTC。"],[],[]]