Langage de définition de données (LDD) Cloud SQL

Cette page définit la syntaxe des extensions Cloud SQL aux instructions LDD (langage de définition de données) MySQL.

Instructions VECTOR

Cette section contient des informations sur les instructions VECTOR.

CREATE VECTOR INDEX

Crée un index vectoriel.

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

Paramètres

  • USING SCANN: obligatoire. Type d'index à utiliser lors de la création de l'index vectoriel. Cet algorithme crée un index ScaNN. SCANN est la seule valeur acceptée. Vous ne pouvez pas modifier ce paramètre.
  • QUANTIZER: facultatif. Ce paramètre mappe un vecteur haute dimensionnalité à une représentation compressée. SQ8 est la seule valeur acceptée. Vous ne pouvez pas modifier ce paramètre.
  • NUM_LEAVES: facultatif. Spécifie le nombre de partitions (feuilles) à créer. Ne modifiez ce paramètre que si vous avez une bonne compréhension de la recherche ANN et de votre ensemble de données. Le nombre spécifié ne peut pas être supérieur au nombre d'embeddings dans la table de base.
  • DISTANCE_MEASURE: obligatoire. Formule mathématique qui calcule la similarité de deux vecteurs. Vous devez définir la même mesure de distance dans ce paramètre que la distance dans les options de recherche approx_distance. Les canaux latéraux acceptés sont les suivants :
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Exemple

L'exemple suivant montre comment créer un indice vectoriel sur la table table_name.

CREATE
  VECTOR INDEX index1
ON table_name(vector_column_name)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;

ALTER TABLE

Ajoute un indice vectoriel à une table existante. Les recherches vectorielles nécessitent SCANN comme option d'index, et le type de quantification doit être 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

Paramètres

  • USING SCANN: obligatoire. Type d'index à utiliser lors de la création de l'index vectoriel. Cet algorithme crée un index ScaNN. SCANN est la seule valeur acceptée. Vous ne pouvez pas modifier ce paramètre.
  • QUANTIZER: facultatif. Ce paramètre mappe un vecteur haute dimensionnalité à une représentation compressée. SQ8 est la seule valeur acceptée. Vous ne pouvez pas modifier ce paramètre.
  • NUM_LEAVES: facultatif. Spécifie le nombre de partitions (feuilles) à créer. Ne modifiez ce paramètre que si vous avez une bonne compréhension de la recherche ANN et de votre ensemble de données. Le nombre spécifié ne peut pas être supérieur au nombre d'embeddings dans la table de base.
  • DISTANCE_MEASURE: obligatoire. Formule mathématique qui calcule la similarité de deux vecteurs. Vous devez définir la même mesure de distance dans ce paramètre que la distance dans les options de recherche approx_distance. Les canaux latéraux acceptés sont les suivants :
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Exemple

L'exemple suivant montre comment ajouter un indice vectoriel à la table t1.

ALTER TABLE t1 ADD VECTOR INDEX index1(j)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;

Étape suivante