TABLE_STORAGE_USAGE_TIMELINE 檢視畫面
INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
檢視畫面會針對下列表格類型,提供過去 90 天內的每日儲存空間用量總和:
- 標準資料表
- 具體化檢視表
- 與基礎資料表的位元組差異遷移的資料表本機副本
- 與基礎資料表的位元組差異遷移的資料表快照
INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
檢視畫面不會納入沒有可計費位元組的資料表。包括下列類型的資料表:
- 外部資料表
- 匿名資料表
- 空白資料表
- 與基礎資料表無位元組差異的資料表本機副本
- 與基礎資料表無差異的資料表快照 (以位元組為單位)
查詢 INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
檢視表時,查詢結果會針對目前專案中的每個資料表或具象化檢視表,每天列出一個資料列。
這個表格中的資料不會即時更新。資料表資料大約需要 72 小時才會顯示在這個檢視畫面中。
儲存空間用量會以 MiB/秒為單位傳回。舉例來說,如果專案在 86,400 秒 (24 小時) 內使用 1,000,000 個實體位元組,則總實體用量為 86,400,000,000 位元組秒,可轉換為 82,397 MiB 秒,如下例所示:
86,400,000,000 / 1,024 / 1,024 = 82,397
這是 BILLABLE_TOTAL_PHYSICAL_USAGE
資料欄傳回的值。
詳情請參閱「儲存空間價格詳細資訊」。
所需權限
如要查詢 INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
檢視,您必須具備下列 Identity and Access Management (IAM) 權限:
bigquery.tables.get
bigquery.tables.list
以下每個預先定義的 IAM 角色都包含上述權限:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.admin
如果查詢包含區域限定條件,您必須具備專案權限。
如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。
結構定義
INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
檢視表具有下列結構定義:
USAGE_DATE |
DATE |
顯示位元組的帳單日期,使用 America/Los_Angeles 時區 |
PROJECT_ID |
STRING |
包含資料集的專案 ID |
TABLE_CATALOG |
STRING |
包含資料集的專案 ID |
PROJECT_NUMBER |
INT64 |
包含資料集的專案編號 |
TABLE_SCHEMA |
STRING |
資料表或具體化檢視表所屬資料集的名稱 (又稱為 datasetId ) |
TABLE_NAME |
STRING |
資料表或物化檢視表的名稱 (又稱為 tableId ) |
BILLABLE_TOTAL_LOGICAL_USAGE |
INT64 |
總邏輯用量,以 MiB 秒為單位。 如果資料集採用實體儲存空間計費模式,則會傳回 0。 |
BILLABLE_ACTIVE_LOGICAL_USAGE |
INT64 |
邏輯用量 (以 MiB 為單位),在 90 天內。 如果資料集採用實體儲存空間計費模式,則會傳回 0。 |
BILLABLE_LONG_TERM_LOGICAL_USAGE |
INT64 |
超過 90 天前的邏輯用量,以 MiB/秒為單位。 如果資料集採用實體儲存空間計費模式,則會傳回 0。 |
BILLABLE_TOTAL_PHYSICAL_USAGE |
INT64 |
總用量 (以 MiB 秒為單位)。包括用於備援和時間旅行儲存的實體位元組。 如果資料集使用邏輯儲存空間計費模式,則會傳回 0。 |
BILLABLE_ACTIVE_PHYSICAL_USAGE |
INT64 |
90 天內的實體用量,以 MiB 為單位。包括用於備援和時間旅行儲存的實體位元組。 如果資料集使用邏輯儲存空間計費模式,則會傳回 0。 |
BILLABLE_LONG_TERM_PHYSICAL_USAGE |
INT64 |
超過 90 天的實體用量,以 MiB 為單位。 如果資料集使用邏輯儲存空間計費模式,則會傳回 0。 |
範圍和語法
對這個檢視表執行的查詢必須包含區域限定詞。下表說明此檢視區域範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] |
專案層級 | REGION |
-
選用:
PROJECT_ID
: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
REGION
:任一資料集區域名稱。例如:`region-us`
。
以下範例說明如何傳回指定專案中資料表的儲存空間資訊:
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
以下範例說明如何傳回指定區域中資料表的儲存空間資訊:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
範例
範例 1
以下範例會將指定區域專案的儲存空間用量按天加總。
SELECT usage_date, project_id, SUM(billable_total_logical_usage) AS billable_total_logical_usage, SUM(billable_active_logical_usage) AS billable_active_logical_usage, SUM(billable_long_term_logical_usage) AS billable_long_term_logical_usage, SUM(billable_total_physical_usage) AS billable_total_physical_usage, SUM(billable_active_physical_usage) AS billable_active_physical_usage, SUM(billable_long_term_physical_usage) AS billable_long_term_physical_usage FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE GROUP BY 1, 2 ORDER BY usage_date;
結果大致如下:
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | usage_date | project_id | billable_total_logical_usage | billable_active_logical_usage | billable_long_term_logical_usage | billable_total_physical_usage | billable_active_physical_usage | billable_long_term_physical_usage | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-03 | project_A | 305085738096 | 7667321458 | 297418416638 | 74823954823 | 124235724 | 74699719099 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-04 | project_A | 287033241105 | 7592334614 | 279440906491 | 75071991788 | 200134561 | 74871857227 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-03 | project_B | 478173930912 | 8137372626 | 470036558286 | 0 | 0 | 0 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-04 | project_B | 496648915405 | 7710451723 | 488938463682 | 0 | 0 | 0 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
示例 2
以下範例顯示資料集 (使用邏輯儲存空間) 中資料表在指定日期的儲存空間用量。
SELECT usage_date, table_schema, table_name, billable_total_logical_usage FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE WHERE project_id = 'PROJECT_ID' AND table_schema = 'DATASET_NAME' AND usage_date = 'USAGE_DATE' ORDER BY billable_total_logical_usage DESC;
結果大致如下:
+--------------+--------------+------------+------------------------------+ | usage_date | table_schema | table_name | billable_total_logical_usage | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_4 | 734893409201 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_1 | 690070445455 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_3 | 52513713981 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_2 | 8894535355 | +--------------+--------------+------------+------------------------------+
示例 3
以下範例顯示資料集中使用實體儲存空間的資料表,在最近一次使用日期的儲存空間用量。
SELECT usage_date, table_schema, table_name, billable_total_physical_usage FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY project_id, table_schema, table_name ORDER BY usage_date DESC) AS rank FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE ) WHERE rank = 1 AND project_id = 'PROJECT_ID' AND table_schema ='DATASET_NAME' ORDER BY usage_date;
結果大致如下:
+--------------+--------------+------------+-------------------------------+ | usage_date | table_schema | table_name | billable_total_physical_usage | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_4 | 345788341123 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_1 | 0 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_3 | 9123481400212 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_2 | 1451334553 | +--------------+--------------+------------+-------------------------------+
示例 4
以下範例會彙整 TABLE_OPTIONS
和 TABLE_STORAGE_USAGE_TIMELINE
檢視畫面,根據標記取得儲存空間用量詳細資料。
SELECT * FROM region-REGION.INFORMATION_SCHEMA.TABLE_OPTIONS INNER JOIN region-REGION.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE USING (TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME) WHERE option_name='tags' AND CONTAINS_SUBSTR(option_value, '(\"tag_namespaced_key\", \"tag_namespaced_value\")')