Ansicht VECTOR_INDEXES

Die Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES enthält eine Zeile für jeden Vektorindex in einem Dataset.

Erforderliche Berechtigungen

Zum Aufrufen der Metadaten des Suchindex benötigen Sie die Berechtigung bigquery.tables.get oder bigquery.tables.list der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Tabelle mit dem Index. Jede der folgenden vordefinierten IAM-Rollen enthält mindestens eine der folgenden Berechtigungen:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer
  • roles/bigquery.user

Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Schema

Wenn Sie die Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES abfragen, wird im Ergebnis jeder Vektorindex in einem Dataset in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES hat das folgende Schema:

Spaltenname Datentyp Wert
index_catalog STRING Der Name des Projekts, zu dem das Dataset gehört.
index_schema STRING Der Name des Datasets, das den Index enthält.
table_name STRING Der Name der Tabelle, für die der Index erstellt wird.
index_name STRING Der Name des Vektorindexes.
index_status STRING Der Status des Index: ACTIVE, PENDING DISABLEMENT, TEMPORARILY DISABLED oder PERMANENTLY DISABLED.
  • ACTIVE bedeutet, dass der Index verwendet werden kann oder erstellt wird. Informationen zum Fortschritt der Indexerstellung finden Sie unter coverage_percentage .
  • PENDING DISABLEMENT bedeutet, dass die Gesamtgröße der indexierten Tabellen das Limit Ihrer Organisation überschreitet. Der Index wird zum Löschen in die Warteschlange gestellt. In diesem Zustand kann der Index für Vektorsuchanfragen verwendet werden und Ihnen wird der Vektorindexspeicher in Rechnung gestellt.
  • TEMPORARILY DISABLED bedeutet, dass die Gesamtgröße der indexierten Tabellen das Limit Ihrer Organisation überschreitet oder die indexierte Tabelle kleiner als 10 MB ist. In diesem Zustand wird der Index nicht in Vektorsuchanfragen verwendet und Ihnen werden keine Kosten für den Speicher des Vektorindex berechnet.
  • PERMANENTLY DISABLED bedeutet, dass die Schematabelle nicht kompatibel ist.
creation_time TIMESTAMP Der Zeitpunkt, zu dem der Index erstellt wurde.
last_modification_time TIMESTAMP Der Zeitpunkt der letzten Änderung der Indexkonfiguration. Beispiel: Löschen einer indexierten Spalte.
last_refresh_time TIMESTAMP Der Zeitpunkt der letzten Indexierung der Tabellendaten. Der Wert NULL bedeutet, dass der Index noch nicht verfügbar ist.
disable_time TIMESTAMP Die Zeitpunkt, zu dem der Indexstatus auf DISABLED gesetzt wurde. Der Wert ist NULL, wenn der Indexstatus nicht DISABLED ist.
disable_reason STRING Der Grund für die Deaktivierung des Index. NULL, wenn der Indexstatus nicht DISABLED ist.
DDL STRING Die DDL-Anweisung (Data Definition Language), die zum Erstellen des Index verwendet wurde.
coverage_percentage INTEGER Der ungefähre Prozentsatz der indexierten Tabellendaten. 0 % bedeutet, dass der Index in einer VECTOR_SEARCH-Abfrage nicht verwendet werden kann, auch wenn einige Daten bereits indexiert wurden.
unindexed_row_count INTEGER Die Anzahl der Zeilen in der Tabelle, die nicht indexiert sind.
total_logical_bytes INTEGER Die Anzahl der abrechenbaren logischen Byte für den Index.
total_storage_bytes INTEGER Die Anzahl der abrechenbaren Speicherbyte für den Index.

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Dataset-Qualifizierer verwendet werden. In der folgenden Tabelle wird der Regionsbereich für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES Dataset-Ebene Dataset-Standort

Ersetzen Sie Folgendes:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.

    • DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.

    Beispiel

    -- Returns metadata for vector indexes in a single dataset.
    SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
    

    Beispiel

    Das folgende Beispiel zeigt alle aktiven Vektorindexe für Tabellen im Dataset my_dataset, das sich im Projekt my_project befindet. Darin enthalten sind die Namen, die zum Erstellen der Indexe verwendeten DDL-Anweisungen und der Deckungsprozentsatz. Ist eine indexierte Basistabelle kleiner als 10 MB, wird der Index nicht ausgefüllt. In diesem Fall ist der Wert coverage_percentage 0.

    SELECT table_name, index_name, ddl, coverage_percentage
    FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES
    WHERE index_status = 'ACTIVE';

    Das Ergebnis sieht etwa so aus:

    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
    | table_name | index_name | ddl                                                                                             | coverage_percentage |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
    | table1     | indexa     | CREATE VECTOR INDEX `indexa` ON `my_project.my_dataset.table1`(embeddings)                      | 100                 |
    |            |            | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"num_lists": 100}')   |                     |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
    | table2     | indexb     | CREATE VECTOR INDEX `indexb` ON `my_project.my_dataset.table2`(vectors)                         | 42                  |
    |            |            | OPTIONS (distance_type = 'COSINE', index_type = 'IVF', ivf_options = '{"num_lists": 500}')      |                     |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
    | table3     | indexc     | CREATE VECTOR INDEX `indexc` ON `my_project.my_dataset.table3`(vectors)                         | 98                  |
    |            |            | OPTIONS (distance_type = 'DOT_PRODUCT', index_type = 'TREE_AH',                                 |                     |
    |            |            |          tree_ah_options = '{"leaf_node_embedding_count": 1000, "normalization_type": "NONE"}') |                     |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+