本頁面提供 BigQuery 中的分區資料表支援總覽。
分區資料表是一種特殊的資料表，其中分成多個區段 (稱為分區)，可讓您更容易地管理和查詢資料。透過將大型資料表分成較小的分區，可以提高查詢效能，並且可以透過減少查詢讀取的位元組數來控制費用。
BigQuery 中的資料表分區有兩種類型：
依擷取時間分區的資料表：根據資料的擷取 (載入) 日期或到達日期分區的資料表。
分區資料表：依據 TIMESTAMP 或 DATE 資料欄分區的資料表。
當您建立依擷取時間分區的資料表時，BigQuery 會自動將資料載入每日以日期為基準的分區中，以反映資料的擷取或到達日期。虛擬資料欄和後置字元識別項可讓您重述 (取代) 資料並將其重新導向至特定日期的分區。
擷取時間分區資料表包含名為 _PARTITIONTIME 的虛擬資料欄，其中具有載入資料表之資料的以日期為基準的時間戳記。針對時間分區資料表進行的查詢可以透過提供代表分區位置的 _PARTITIONTIME 篩選條件來限制讀取的資料。查詢作業會讀取指定分區中的所有資料，但是 _PARTITIONTIME 述詞篩選條件會限制掃描的分區數量。
當您建立擷取時間分區資料表時，分區與資料表具有相同的結構定義。如果您需要將資料載入結構定義與資料表的結構定義不同的分區中，則必須在載入資料前先更新資料表的結構定義。或者，您可以在載入工作或查詢工作中，使用結構定義更新選項來更新資料表的結構定義。
BigQuery 也允許使用分區資料表。分區資料表可讓您將分區配置繫結至特定的 TIMESTAMP 或 DATE 欄。寫入分區資料表的資料會根據分區欄中的日期值 (以 UTC 表示) 自動傳送至適當的分區。
分區資料表不需要 _PARTITIONTIME 虛擬資料欄。針對分區資料表進行的查詢可以根據分區欄指定述詞篩選條件，以減少掃描的資料量。
建立分區資料表時，將會建立兩個特別的分區：
除了 __NULL__ 和 __UNPARTITIONED__ 分區之外，分區資料欄中的所有資料均符合分區 ID 中的日期。這可讓查詢確定哪些分區不含符合篩選條件的資料。篩選分區資料欄中資料的查詢，可以限制值並完全剪除不必要的分區。
除了使用分區資料表之外，您也可以使用以時間為基準的命名方法 (例如 [PREFIX]_YYYYMMDD) 對資料表進行資料分割。這稱之為建立日期資料分割資料表。使用標準 SQL 或舊版 SQL 時，您可以使用 UNION 運算子來指定查詢，以限制查詢作業所掃描的資料表。
分區資料表的效能優於依日期進行資料分割的資料表。當您建立以日期命名的資料表時，BigQuery 必須為每個以日期命名的資料表保留一份結構定義和中繼資料的複本。此外，使用以日期命名的資料表時，BigQuery 可能必須驗證每個查詢資料表的權限。這項做法也會增加查詢負擔並影響查詢效能。建議的最佳做法是使用分區資料表，而不要使用日期資料分割資料表。
下表比較了資料分割資料表和分區資料表。
分區方法 無：使用 UNION 運算子分割及查詢資料表可以模擬分區。 根據資料的擷取或到達日期進行分區。您可以使用虛擬資料欄參照分區資訊。 根據指定 TIMESTAMP 或 DATE 資料欄中的資料分區。
分區 ID 無 您可以使用介於 0001-01-01 到 9999-12-31 之間的任何有效日期，但 DML 陳述式不能參照 1970-01-01 之前或 2159-12-31 之後的日期。 來自繫結的 DATE 或 TIMESTAMP 資料欄的有效項目。目前，1970-01-01 之前和 2159-12-31 之後的日期值會放在共用的 UNPARTITIONED 分區中。NULL 值位於明確的 NULL 分區中。
限制掃描的資料 透過排除查詢中不必要的欄，僅參考您需要的資料分割並限制資料。 使用 _PARTITIONTIME 虛擬資料欄來剪除分區。 在分區欄上使用述詞篩選條件。
分區數量 資料表的數量沒有限制，但查詢最多只能參照 1,000 個資料表。 最多 4,000 個分區。 最多 4,000 個分區。
更新作業 您每天只能進行 1,000 次更新。 個別作業可以提交至單一分區。最新的分區 (根據預設) 或使用分區裝飾器 (例如 [TABLE]$[DATE]) 指定的分區。 個別作業最多可以將資料提交至 2,000 個不同的分區。
串流資料插入 資料表的一個全域緩衝區。 透過分區後置字元，您可以根據目前的世界標準時間，將資料串流傳送至過去 31 天內和未來 16 天內 (相對於目前日期) 的分區。 您可以串流過去 1 年到未來 6 個月之間的資料。超出此範圍的資料會遭拒。當資料進行串流時，過去 7 天到未來 3 天之間的資料會放在串流緩衝區中，之後系統會將資料擷取至對應的分區。超出此時間範圍 (但在過去 1 年到未來 6 個月之間) 的資料會放在 UNPARTITIONED 分區中。如有足夠的未分區資料，系統就會將資料載入對應的分區。
BigQuery 中的分區資料表已定義了限制。
配額和限制也適用於您可以針對分區資料表執行的各類型工作，包括：
如要深入瞭解所有配額和限制，請參閱配額和限制一文。
在 BigQuery 中建立和使用分區資料表時，向您收取的費用是以在分區中儲存的資料量以及針對資料執行的查詢量為計算依據：
如需儲存空間價格的相關資訊，請參閱儲存空間價格。
如需查詢價格的相關資訊，請參閱查詢價格。
許多分區資料表作業都是免費的，包括將資料載入分區、複製分區，以及從分區匯出資料。雖然這些作業都是免費的，但仍受限於 BigQuery 的配額和限制。如需所有免費作業的相關資訊，請參閱定價頁面上的免費作業項目一節。
要瞭解如何建立和使用擷取時間分區資料表，請參閱建立及使用擷取時間分區資料表一文。
要瞭解如何建立和使用分區資料表，請參閱建立及使用分區資料表一文。