VECTOR_INDEXES ビュー
INFORMATION_SCHEMA.VECTOR_INDEXES ビューには、データセット内のベクトル インデックスごとに 1 行が表示されます。
必要な権限
ベクトル インデックスのメタデータを表示するには、インデックスを含むテーブルに対する bigquery.tables.get または bigquery.tables.list の Identity and Access Management(IAM)権限が必要です。次に示す事前定義された各 IAM ロールには、これらのうち少なくとも 1 つの権限が含まれています。
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewerroles/bigquery.metadataViewerroles/bigquery.user
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.VECTOR_INDEXES ビューにクエリを実行すると、データセット内の各ベクトル インデックスに関する情報が 1 行ずつ表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.VECTOR_INDEXES ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
index_catalog | 
      STRING | 
      データセットを含むプロジェクトの名前 | 
index_schema | 
      STRING | 
      インデックスを含むデータセットの名前。 | 
table_name | 
      STRING | 
      インデックスが作成されるテーブルの名前。 | 
index_name | 
      STRING | 
      ベクトル インデックスの名前。 | 
index_status | 
      STRING | 
      インデックスのステータス: ACTIVE、PENDING
          DISABLEMENT、TEMPORARILY DISABLED、または PERMANENTLY DISABLED。
  | 
    
creation_time | 
      TIMESTAMP | 
      インデックスが作成された時刻。 | 
last_modification_time | 
      TIMESTAMP | 
      インデックス構成が最後に変更された時刻。たとえば、インデックス付きの列の削除などです。 | 
last_refresh_time | 
      TIMESTAMP | 
      テーブルデータが最後にインデックスに登録された時刻。値 NULL は、インデックスがまだ利用できないことを意味します。 | 
    
disable_time | 
      TIMESTAMP | 
      インデックスのステータスが DISABLED に設定された時刻。インデックスのステータスが DISABLED でない場合、値は NULL です。 | 
    
disable_reason | 
      STRING | 
      インデックスが無効になった理由。インデックスのステータスが DISABLED でない場合は NULL です。 | 
    
DDL | 
      STRING | 
      インデックスの作成に使用されるデータ定義言語(DDL)ステートメント。 | 
coverage_percentage | 
      INTEGER | 
      
      インデックス登録されたテーブルデータのおおよその割合。
      0% は、一部のデータがすでにインデックスに登録されていても、VECTOR_SEARCH クエリでそのインデックスを使用できないことを意味します。 | 
    
unindexed_row_count | 
      INTEGER | 
      インデックスに登録されていないベーステーブル内の行数。 | 
total_logical_bytes | 
      INTEGER | 
      インデックスの課金対象の論理バイト数。 | 
total_storage_bytes | 
      INTEGER | 
      インデックスの課金対象ストレージのバイト数。 | 
スコープと構文
このビューに対するクエリでは、データセット修飾子を指定する必要があります。次の表に、このビューのリージョン スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES | 
  データセット レベル | データセットのロケーション | 
- 
  省略可: 
PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。 - 
  
DATASET_ID: データセットの ID。詳しくは、データセット修飾子をご覧ください。 
例
-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
例
次の例では、プロジェクト my_project にあるデータセット my_dataset 内のテーブルに対するアクティブなベクトル インデックスがすべて表示されます。これには、名前、作成に使用された DDL ステートメント、カバレッジの割合が含まれます。インデックス付きベーステーブルが 10 MB 未満の場合、そのインデックスにはデータが取り込まれず、coverage_percentage 値は 0 になります。
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
次のような結果になります。
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
| 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"}') |                     |
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+