SEARCH_INDEX_COLUMN_OPTIONS 檢視表

INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS 檢視畫面會針對資料集中資料表中搜尋索引欄的每個選項組合,列出一個資料列。

所需權限

如要查看搜尋索引中繼資料,您必須具備索引資料表的 bigquery.tables.getbigquery.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,並分別將 col2col3 的細目分別設為 GLOBALCOLUMN。在這個範例中,資料欄 col2col3 會顯示在結果中,因為這些欄的細目已明確設定。系統不會顯示欄 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';

結果大致如下:

+-------------+-------------------+---------------+--------------+
| column_name |  option_name      | option_type   | option_value |
+-------------+-------------------+---------------+--------------+
| col2        | index_granularity | STRING        | GLOBAL       |
| col3        | index_granularity | STRING        | COLUMN       |
+-------------+-------------------+---------------+--------------+

以下是未使用 ALL COLUMNS 的等效範例,其中預設索引欄精細程度設為 COLUMN,並分別將兩個欄的精細程度分別設為 GLOBALCOLUMN

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';

結果大致如下:

+-------------+-------------------+---------------+--------------+
| column_name |  option_name      | option_type   | option_value |
+-------------+-------------------+---------------+--------------+
| col2        | index_granularity | STRING        | GLOBAL       |
| col3        | index_granularity | STRING        | COLUMN       |
+-------------+-------------------+---------------+--------------+