INFORMATION_SCHEMA 簡介

BigQuery INFORMATION_SCHEMA 檢視畫面是唯讀的系統定義檢視畫面,可提供 BigQuery 物件的中繼資料資訊。下表列出所有可查詢以擷取中繼資料資訊的 INFORMATION_SCHEMA 檢視區塊:

資源類型 INFORMATION_SCHEMA 檢視畫面
存取權控管 OBJECT_PRIVILEGES
BI Engine BI_CAPACITIES
BI_CAPACITY_CHANGES
設定 EFFECTIVE_PROJECT_OPTIONS
ORGANIZATION_OPTIONS
ORGANIZATION_OPTIONS_CHANGES
PROJECT_OPTIONS
PROJECT_OPTIONS_CHANGES
資料集 SCHEMATA
SCHEMATA_LINKS
SCHEMATA_OPTIONS
SHARED_DATASET_USAGE
SCHEMATA_REPLICAS
SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION
工作 JOBS_BY_PROJECT
JOBS_BY_USER
JOBS_BY_FOLDER
JOBS_BY_ORGANIZATION
各個時間片的工作 JOBS_TIMELINE_BY_PROJECT
JOBS_TIMELINE_BY_USER
JOBS_TIMELINE_BY_FOLDER
JOBS_TIMELINE_BY_ORGANIZATION
建議與洞察 INSIGHTS
RECOMMENDATIONS
RECOMMENDATIONS_BY_ORGANIZATION
保留項目 ASSIGNMENTS_BY_PROJECT
ASSIGNMENT_CHANGES_BY_PROJECT
CAPACITY_COMMITMENTS_BY_PROJECT
CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
RESERVATIONS_BY_PROJECT
RESERVATION_CHANGES_BY_PROJECT
RESERVATIONS_TIMELINE_BY_PROJECT
處理常式 PARAMETERS
ROUTINES
ROUTINE_OPTIONS
搜尋索引 SEARCH_INDEXES
SEARCH_INDEX_COLUMNS
SEARCH_INDEX_COLUMN_OPTIONS
SEARCH_INDEX_OPTIONS
SEARCH_INDEXES_BY_ORGANIZATION
工作階段 SESSIONS_BY_PROJECT
SESSIONS_BY_USER
串流 STREAMING_TIMELINE_BY_PROJECT
STREAMING_TIMELINE_BY_FOLDER
STREAMING_TIMELINE_BY_ORGANIZATION
資料表 COLUMNS
COLUMN_FIELD_PATHS
CONSTRAINT_COLUMN_USAGE
KEY_COLUMN_USAGE
PARTITIONS
TABLES
TABLE_OPTIONS
TABLE_CONSTRAINTS
TABLE_SNAPSHOTS
TABLE_STORAGE_BY_PROJECT
TABLE_STORAGE_BY_FOLDER
TABLE_STORAGE_BY_ORGANIZATION
TABLE_STORAGE_USAGE_TIMELINE
TABLE_STORAGE_USAGE_TIMELINE_BY_FOLDER
TABLE_STORAGE_USAGE_TIMELINE_BY_ORGANIZATION
向量索引 VECTOR_INDEXES
VECTOR_INDEX_COLUMNS
VECTOR_INDEX_OPTIONS
瀏覽次數 VIEWS
MATERIALIZED_VIEWS
Write API WRITE_API_TIMELINE_BY_PROJECT
WRITE_API_TIMELINE_BY_FOLDER
WRITE_API_TIMELINE_BY_ORGANIZATION

對於 *BY_PROJECT 檢視畫面,BY_PROJECT 後置字串為選用項目。舉例來說,查詢 INFORMATION_SCHEMA.JOBS_BY_PROJECTINFORMATION_SCHEMA.JOBS 會傳回相同的結果。

定價

對於使用以量計價方案的專案,對 INFORMATION_SCHEMA 檢視表執行查詢時,即使查詢所處理的位元組數少於 10 MB,也會產生最少 10 MB 的資料處理費。10 MB 是以量計價查詢的最低收費標準。詳情請參閱「以量計價」。

對於採用容量計價的專案,針對 INFORMATION_SCHEMA 檢視表和資料表執行的查詢會耗用您購買的 BigQuery 運算單元。詳情請參閱以容量為準的定價

由於 INFORMATION_SCHEMA 查詢並不會快取,因此即使您每次執行 INFORMATION_SCHEMA 查詢時的查詢文字都相同,系統也會向您收費。

系統不會收取 INFORMATION_SCHEMA 資料檢視的儲存費用。

語法

INFORMATION_SCHEMA 檢視畫面必須符合資料集或區域的資格。

資料集限定符

如有資料集限定符,結果會僅限於指定資料集。 例如:

-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;

下列 INFORMATION_SCHEMA 檢視畫面支援資料集限定詞:

  • COLUMNS
  • COLUMN_FIELD_PATHS
  • MATERIALIZED_VIEWS
  • PARAMETERS
  • PARTITIONS
  • ROUTINES
  • ROUTINE_OPTIONS
  • TABLES
  • TABLE_OPTIONS
  • VIEWS

區域限定詞

區域限定詞會以 region-REGION 語法表示。REGION 可以使用任何資料集位置名稱。舉例來說,下列區域限定符皆有效:

  • region-us
  • region-asia-east2
  • region-europe-north1

如果存在區域限定符,結果會限制在指定位置。舉例來說,下列查詢會傳回 US 多區域中專案的所有資料集的中繼資料:

-- Returns metadata for all datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

下列 INFORMATION_SCHEMA 檢視畫面不支援區域限定詞:

如果未指定區域或資料集限定符,系統會顯示錯誤訊息。

針對區域限定 INFORMATION_SCHEMA 檢視區塊執行的查詢,會在您指定的區域中執行,因此您無法撰寫單一查詢,來聯結不同區域中檢視區塊的資料。如要合併多個區域的 INFORMATION_SCHEMA 檢視畫面,請在本機讀取並合併查詢結果,或將產生的資料表複製到通用區域。

專案條件

如果存在專案限定符,結果會限制為指定專案。例如:

-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;

-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;

所有 INFORMATION_SCHEMA 檢視畫面都支援專案限定符。如未指定專案限定符,檢視區塊預設會使用執行查詢的專案。

為機構層級檢視畫面指定專案限定符 (例如 STREAMING_TIMELINE_BY_ORGANIZATION) 不會影響結果。

限制

  • BigQuery INFORMATION_SCHEMA 查詢必須使用 GoogleSQL 語法,INFORMATION_SCHEMA 並不支援舊版 SQL。
  • INFORMATION_SCHEMA 查詢結果不會快取。
  • INFORMATION_SCHEMA 資料檢視無法用於 DDL 陳述式。
  • INFORMATION_SCHEMA 檢視畫面不會顯示隱藏資料集的相關資訊。
  • INFORMATION_SCHEMA 查詢時若使用區域限定符,可能會納入時間旅行視窗內已刪除資料集中,該區域資源的中繼資料。
  • INFORMATION_SCHEMA 檢視畫面列出資源時,系統只會在父項層級檢查權限,不會在個別列層級檢查。因此,系統會忽略任何使用標記有條件地指定個別資料列的拒絕政策 (預覽)。