Cloud SQL-Datendefinitionssprache (Data Definition Language, DDL)

Auf dieser Seite wird die Syntax für Cloud SQL-Erweiterungen der MySQL-DDL-Anweisungen (Data Definition Language) definiert.

VECTOR-Anweisungen

Dieser Abschnitt enthält Informationen zu VECTOR-Anweisungen.

CREATE VECTOR INDEX

Erstellt einen Vektorindex.

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

Parameter

  • USING SCANN: erforderlich. Der Indextyp, der beim Erstellen des Vektorindexes verwendet werden soll. Mit diesem Algorithmus wird ein ScaNN-Index erstellt. SCANN ist der einzige unterstützte Wert. Dieser Parameter kann nicht geändert werden.
  • QUANTIZER: Optional. Dieser Parameter ordnet einen hochdimensionalen Vektor einer komprimierten Darstellung zu. SQ8 ist der einzige unterstützte Wert. Dieser Parameter kann nicht geändert werden.
  • NUM_LEAVES: Optional. Gibt an, wie viele Partitionen (Blätter) erstellt werden sollen. Ändern Sie diese Einstellung nur, wenn Sie sich mit der ANN-Suche und Ihrem Datenpool auskennen. Die angegebene Zahl darf nicht größer sein als die Anzahl der Einbettungen in der Basistabelle.
  • DISTANCE_MEASURE: erforderlich. Eine mathematische Formel, mit der die Ähnlichkeit zweier Vektoren berechnet wird. In diesem Parameter muss dieselbe Entfernungseinheit festgelegt werden wie in den Suchoptionen für approx_distance. Folgende Laterale werden unterstützt:
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Beispiel

Im folgenden Beispiel wird gezeigt, wie ein Vektorindex für die Tabelle table_name erstellt wird.

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

ALTER TABLE

Fügt einer vorhandenen Tabelle einen Vektorindex hinzu. Für Vektorsuchen ist SCANN als Indexoption erforderlich und der Quantisierungstyp muss SQ8 sein.

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

Parameter

  • USING SCANN: erforderlich. Der Indextyp, der beim Erstellen des Vektorindexes verwendet werden soll. Mit diesem Algorithmus wird ein ScaNN-Index erstellt. SCANN ist der einzige unterstützte Wert. Dieser Parameter kann nicht geändert werden.
  • QUANTIZER: Optional. Dieser Parameter ordnet einen hochdimensionalen Vektor einer komprimierten Darstellung zu. SQ8 ist der einzige unterstützte Wert. Dieser Parameter kann nicht geändert werden.
  • NUM_LEAVES: Optional. Gibt an, wie viele Partitionen (Blätter) erstellt werden sollen. Ändern Sie diese Einstellung nur, wenn Sie sich mit der ANN-Suche und Ihrem Datenpool auskennen. Die angegebene Zahl darf nicht größer sein als die Anzahl der Einbettungen in der Basistabelle.
  • DISTANCE_MEASURE: erforderlich. Eine mathematische Formel, mit der die Ähnlichkeit zweier Vektoren berechnet wird. In diesem Parameter muss dieselbe Entfernungseinheit festgelegt werden wie in den Suchoptionen für approx_distance. Folgende Laterale werden unterstützt:
    • L2_SQUARED
    • COSINE
    • DOT_PRODUCT

Beispiel

Im folgenden Beispiel wird gezeigt, wie Sie der Tabelle t1 einen Vektorindex hinzufügen.

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

Nächste Schritte