使用 BigQuery 高级运行时

BigQuery 高级运行时是一组旨在自动加速分析工作负载的性能增强功能,无需用户采取任何操作或更改代码。本文档介绍了这些性能增强功能,包括增强的矢量化和短查询优化。

角色与权限

如需获得指定配置设置所需的权限,请让您的管理员为您授予项目或组织的 BigQuery Admin (roles/bigquery.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

增强型向量化

向量化执行是一种查询处理模型,可对与 CPU 缓存大小对齐的数据块中的数据列进行操作,并使用单指令多数据 (SIMD) 指令。增强型向量化功能将 BigQuery 中的向量化查询执行扩展到查询处理的以下方面:

  • 通过利用 Capacitor 存储格式中的专用数据编码,可以对编码后的数据执行过滤条件评估操作。
  • 专用编码会通过查询计划进行传播,从而可以在数据仍处于编码状态时处理更多数据。
  • 通过实现表达式折叠来评估确定性函数和常量表达式,BigQuery 可以将复杂的谓词简化为常量值。

短查询优化

BigQuery 通常会在分布式环境中使用 Shuffle 中间层来执行查询。短查询优化功能可动态识别可以作为单个阶段运行的查询,从而缩短延迟时间并减少槽消耗。当查询在单个阶段运行时,可以更有效地使用专用编码。与可选作业创建模式搭配使用时,这些优化效果最为显著,因为该模式可最大限度地缩短作业启动、维护和结果检索延迟时间。

短查询优化功能的适用性是动态的,受以下因素的影响:

  • 数据扫描的预测大小。
  • 所需的数据迁移量。
  • 查询过滤条件的选择性。
  • 存储空间中数据的类型和物理布局。
  • 查询的总体结构。
  • 过去查询执行的历史统计信息

启用高级运行时

从 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:项目的位置

更改可能需要几分钟才能生效。

启用高级运行时后,项目或组织中的符合条件的查询会使用高级运行时,无论查询作业由哪个用户创建都是如此。