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_OPTIONSTABLE_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\")')