使用 BigQuery 進階執行階段
BigQuery 進階執行階段是一組效能強化功能,可自動加速分析工作負載,使用者不必採取任何動作或變更程式碼。本文將說明這些效能提升功能,包括強化向量化和簡短查詢最佳化。
角色和權限
如要取得指定設定所需的權限,請要求管理員授予您專案或機構的 BigQuery 管理員 (roles/bigquery.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
強化向量化
向量化執行是查詢處理模型,可處理與 CPU 快取大小一致的資料區塊,並使用單指令多資料 (SIMD) 指令。強化向量化功能可將 BigQuery 中的向量化查詢執行作業,擴展至查詢處理的下列層面:
- 透過運用 Capacitor 儲存格式中的專用資料編碼,即可對編碼資料執行篩選器評估作業。
- 專用編碼會透過查詢計畫傳播,因此在資料仍處於編碼狀態時,即可處理更多資料。
- BigQuery 實作運算式摺疊功能來評估決定性函式和常數運算式,可將複雜述詞簡化為常數值。
短查詢最佳化
BigQuery 通常會在分散式環境中執行查詢,並使用隨機中間層。短查詢最佳化 動態識別可做為單一階段執行的查詢,減少延遲時間和運算單元用量。如果查詢是在單一階段執行,就能更有效地使用專用編碼。搭配選用工作建立模式使用時,這些最佳化措施最有效,可將工作啟動、維護和結果擷取延遲時間降到最低。
短查詢最佳化功能的適用資格會動態調整,並受到下列因素影響:
- 預測的資料掃描大小。
- 所需資料移動量。
- 查詢篩選器的選擇性。
- 儲存空間中資料的類型和實體配置。
- 整體查詢結構。
- 過去查詢執行的歷史統計資料。
啟用進階執行階段
2025 年 9 月 15 日至 2026 年初,BigQuery 會開始將進階執行階段設為所有專案的預設執行階段。如要在現有專案或機構中啟用進階執行階段,請使用 ALTER PROJECT
或 ALTER ORGANIZATION
陳述式變更預設設定。在陳述式中,將 query_runtime
引數設為 'advanced'
。例如:
ALTER PROJECTPROJECT_NAME
SET OPTIONS ( `region-LOCATION
.query_runtime` = 'advanced' );
更改下列內容:
PROJECT_NAME
:專案名稱LOCATION
:專案位置
變更可能需要幾分鐘才會生效。
啟用進階執行階段後,專案或機構中的符合資格查詢都會使用進階執行階段,無論查詢作業是由哪位使用者建立都一樣。