SEARCH_INDEX_COLUMN_OPTIONS 檢視畫面
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
檢視表會針對資料集中資料表內經搜尋索引的每個資料欄選項集,分別列出一個相對應的資料列。
所需權限
如要查看搜尋索引中繼資料,您必須具備索引資料表的 bigquery.tables.get
或 bigquery.tables.list
身分與存取權管理 (IAM) 權限。下列每個預先定義的 IAM 角色都至少包含其中一項權限:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」一文。
結構定義
查詢INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
檢視表時,資料集中資料表內已建立搜尋索引的每個資料欄選項,在查詢結果中都會有一個相對應的資料列。
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
index_catalog |
STRING |
資料集所屬專案的名稱。 |
index_schema |
STRING |
包含索引的資料集名稱。 |
table_name |
STRING |
建立索引的基礎資料表名稱。 |
index_name |
STRING |
索引的名稱。 |
column_name |
STRING |
選項所設索引資料欄的名稱。 |
option_name |
STRING |
資料欄中指定的選項名稱。 |
option_type |
STRING |
選項類型。 |
option_value |
STRING |
選項的值。 |
範圍和語法
對這個檢視表執行的查詢必須具有資料集限定詞。下表說明這個檢視畫面的區域範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
資料集層級 | 資料集位置 |
-
選用:
PROJECT_ID
:您的 Google Cloud 專案 ID。如未指定,系統會使用預設專案。 -
DATASET_ID
:資料集的 ID。詳情請參閱資料集限定符。
示例
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
範例
以下範例會將預設索引資料欄細微程度設為 COLUMN
,並分別將 col2
和 col3
的細微程度設為 GLOBAL
和 COLUMN
。在本範例中,col2
和 col3
資料欄會顯示在結果中,因為其精細度已明確設定。由於欄 col1
使用預設精細度,因此系統不會顯示該欄的精細度。
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( ALL COLUMNS WITH COLUMN OPTIONS ( col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
結果大致如下:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
以下是等效範例,其中未採用 ALL COLUMNS
,而是將預設索引資料欄細微程度設為 COLUMN
,並分別將兩個資料欄的細微程度設為 GLOBAL
和 COLUMN
:
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( col1, col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
結果大致如下:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+