使用 BigQuery 進階執行階段

BigQuery 進階執行階段是一組效能強化功能,可自動加速分析工作負載,使用者不必採取任何動作或變更程式碼。本文將說明這些效能提升功能,包括強化向量化和簡短查詢最佳化。

角色和權限

如要取得指定設定所需的權限,請要求管理員授予您專案或機構的 BigQuery 管理員 (roles/bigquery.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

強化向量化

向量化執行是查詢處理模型,可處理與 CPU 快取大小一致的資料區塊,並使用單指令多資料 (SIMD) 指令。強化向量化功能可將 BigQuery 中的向量化查詢執行作業,擴展至查詢處理的下列層面:

  • 透過運用 Capacitor 儲存格式中的專用資料編碼,即可對編碼資料執行篩選器評估作業。
  • 專用編碼會透過查詢計畫傳播,因此在資料仍處於編碼狀態時,即可處理更多資料。
  • BigQuery 實作運算式摺疊功能來評估決定性函式和常數運算式,可將複雜述詞簡化為常數值。

短查詢最佳化

BigQuery 通常會在分散式環境中執行查詢,並使用隨機中間層。短查詢最佳化 動態識別可做為單一階段執行的查詢,減少延遲時間和運算單元用量。如果查詢是在單一階段執行,就能更有效地使用專用編碼。搭配選用工作建立模式使用時,這些最佳化措施最有效,可將工作啟動、維護和結果擷取延遲時間降到最低。

短查詢最佳化功能的適用資格會動態調整,並受到下列因素影響:

  • 預測的資料掃描大小。
  • 所需資料移動量。
  • 查詢篩選器的選擇性。
  • 儲存空間中資料的類型和實體配置。
  • 整體查詢結構。
  • 過去查詢執行的歷史統計資料

啟用進階執行階段

2025 年 9 月 15 日至 2026 年初,BigQuery 會開始將進階執行階段設為所有專案的預設執行階段。如要在現有專案或機構中啟用進階執行階段,請使用 ALTER PROJECTALTER ORGANIZATION 陳述式變更預設設定。在陳述式中,將 query_runtime 引數設為 'advanced'。例如:

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = 'advanced'
);

更改下列內容:

  • PROJECT_NAME:專案名稱
  • LOCATION:專案位置

變更可能需要幾分鐘才會生效。

啟用進階執行階段後,專案或機構中的符合資格查詢都會使用進階執行階段,無論查詢作業是由哪位使用者建立都一樣。