Lenguaje de definición de datos (DDL) de Cloud SQL

En esta página se define la sintaxis de las extensiones de Cloud SQL para las instrucciones del lenguaje de definición de datos (DDL) de MySQL.

Instrucciones VECTOR

En esta sección se incluye información sobre las instrucciones VECTOR.

CREATE VECTOR INDEX

Crea un índice vectorial.

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

Parámetros

  • USING SCANN: obligatorio. El tipo de índice que se va a usar al crear el índice de vector. Este algoritmo crea un índice ScaNN. SCANN es el único valor admitido. No puedes modificar este parámetro.
  • QUANTIZER: opcional. Este parámetro asigna un vector de alta dimensión a una representación comprimida. SQ8 es el único valor admitido. No puedes modificar este parámetro.
  • NUM_LEAVES: opcional. Especifica cuántas particiones (hojas) se van a crear. Solo debes cambiar este ajuste de su valor predeterminado si conoces bien la búsqueda de ANN y tu conjunto de datos. El número especificado no puede ser mayor que el número de inserciones de la tabla base.
  • DISTANCE_MEASURE: obligatorio. Fórmula matemática que calcula la similitud de dos vectores. Debe definir la misma medida de distancia en este parámetro que la distancia de las opciones de búsqueda de approx_distance. Los laterales admitidos son:
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Ejemplo

En el siguiente ejemplo se muestra cómo crear un índice vectorial en la tabla table_name.

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

ALTER TABLE

Añade un índice vectorial a una tabla. Las búsquedas vectoriales requieren SCANN como opción de índice y el tipo de cuantización debe ser 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

Parámetros

  • USING SCANN: obligatorio. El tipo de índice que se va a usar al crear el índice de vector. Este algoritmo crea un índice ScaNN. SCANN es el único valor admitido. No puedes modificar este parámetro.
  • QUANTIZER: opcional. Este parámetro asigna un vector de alta dimensión a una representación comprimida. SQ8 es el único valor admitido. No puedes modificar este parámetro.
  • NUM_LEAVES: opcional. Especifica cuántas particiones (hojas) se van a crear. Solo debes cambiar este ajuste de su valor predeterminado si conoces bien la búsqueda de ANN y tu conjunto de datos. El número especificado no puede ser mayor que el número de inserciones de la tabla base.
  • DISTANCE_MEASURE: obligatorio. Fórmula matemática que calcula la similitud de dos vectores. Debe definir la misma medida de distancia en este parámetro que la distancia de las opciones de búsqueda de approx_distance. Los laterales admitidos son:
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Ejemplo

En el siguiente ejemplo se muestra cómo añadir un índice vectorial en la tabla t1.

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

Siguientes pasos