Visualizzazione VECTOR_INDEXES
La vista INFORMATION_SCHEMA.VECTOR_INDEXES
contiene una riga per ogni indice
del vettore in un set di dati.
Autorizzazioni obbligatorie
Per visualizzare i metadati dell'indice di vettori, devi disporre dell'autorizzazione Identity and Access Management (IAM) bigquery.tables.get
o bigquery.tables.list
per la tabella con l'indice. Ciascuno dei seguenti ruoli IAM predefiniti include almeno una di queste autorizzazioni:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazioneINFORMATION_SCHEMA.VECTOR_INDEXES
, i risultati della query contengono una riga per ogni indice di vettore in un set di dati.
La vista INFORMATION_SCHEMA.VECTOR_INDEXES
ha lo schema seguente:
Nome colonna | Tipo di dati | Valore |
---|---|---|
index_catalog |
STRING |
Il nome del progetto che contiene il set di dati. |
index_schema |
STRING |
Il nome del set di dati contenente l'indice. |
table_name |
STRING |
Il nome della tabella in cui viene creato l'indice. |
index_name |
STRING |
Il nome dell'indice del vettore. |
index_status |
STRING |
Lo stato dell'indice: ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED o
PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
L'ora in cui è stato creato l'indice. |
last_modification_time |
TIMESTAMP |
L'ultima volta che è stata modificata la configurazione dell'indice. Ad esempio, l'eliminazione di una colonna indicizzata. |
last_refresh_time |
TIMESTAMP |
L'ultima volta che i dati della tabella sono stati indicizzati. Un valore NULL
indica che l'indice non è ancora disponibile. |
disable_time |
TIMESTAMP |
L'ora in cui lo stato dell'indice è stato impostato su DISABLED . Il valore è NULL se lo stato dell'indice non è DISABLED . |
disable_reason |
STRING |
Il motivo per cui l'indice è stato disattivato. NULL se lo stato
dell'indice non è DISABLED . |
DDL |
STRING |
L'istruzione DDL (Data Definition Language) utilizzata per creare l'indice. |
coverage_percentage |
INTEGER |
La percentuale approssimativa di dati della tabella che sono stati indicizzati.
0% significa che l'indice non è utilizzabile in una query VECTOR_SEARCH , anche se alcuni dati sono già stati indicizzati.
|
unindexed_row_count |
INTEGER |
Il numero di righe nella tabella che non sono state indicizzate. |
total_logical_bytes |
INTEGER |
Il numero di byte logici fatturabili per l'indice. |
total_storage_bytes |
INTEGER |
Il numero di byte di spazio di archiviazione fatturabili per l'indice. |
Ambito e sintassi
Le query su questa vista devono avere un qualificatore del set di dati. La tabella seguente illustra l'ambito della regione per questa visualizzazione:
Visualizza nome | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES |
A livello di set di dati | Posizione del set di dati |
Facoltativo: PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non viene specificato, viene utilizzato il progetto predefinito.
DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni, consulta Qualificatore del set di dati.
Esempio
-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
Esempio
L'esempio seguente mostra tutti gli indici di vettori attivi nelle tabelle del set di datimy_dataset
, nel progetto my_project
. Sono inclusi i nomi, le istruzioni DDL utilizzate per crearli e la percentuale di copertura. Se una tabella di base indicizzata è inferiore a 10 MB, il relativo indice non viene compilato, nel qual caso il valore coverage_percentage
è 0.
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
Il risultato è simile al seguente:
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | 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"}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+