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.

Declaraciones VECTOR

En esta sección, se incluye información sobre las sentencias 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. Es el tipo de índice que se usará cuando se cree el índice de vectores. 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 deben compilar. Solo cambia este parámetro de configuración 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 la cantidad de incorporaciones en la tabla base.
  • DISTANCE_MEASURE: Obligatorio. Es una fórmula matemática que calcula la similitud de dos vectores. Debes establecer la misma medida de distancia en este parámetro que la distancia en las opciones de búsqueda de approx_distance. Los laterales compatibles son los siguientes:
    • 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

Agrega un índice vectorial a una tabla existente. Las búsquedas de vectores requieren SCANN como la opción de índice, y el tipo de cuantificació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. Es el tipo de índice que se usará cuando se cree el índice de vectores. 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 deben compilar. Solo cambia este parámetro de configuración 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 la cantidad de incorporaciones en la tabla base.
  • DISTANCE_MEASURE: Obligatorio. Es una fórmula matemática que calcula la similitud de dos vectores. Debes establecer la misma medida de distancia en este parámetro que la distancia en las opciones de búsqueda de approx_distance. Los laterales compatibles son los siguientes:
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Ejemplo

En el siguiente ejemplo, se muestra cómo agregar un índice vectorial a la tabla t1.

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

¿Qué sigue?