使用 BigQuery 高级运行时
BigQuery 高级运行时是一组旨在自动加速分析工作负载的性能增强功能,无需用户采取任何操作或更改代码。本文档介绍了这些性能增强功能,包括增强的矢量化和短查询优化。
角色与权限
如需获得指定配置设置所需的权限,请让您的管理员为您授予项目或组织的 BigQuery Admin (roles/bigquery.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
增强型向量化
向量化执行是一种查询处理模型,可对与 CPU 缓存大小对齐的数据块中的数据列进行操作,并使用单指令多数据 (SIMD) 指令。增强型向量化功能将 BigQuery 中的向量化查询执行扩展到查询处理的以下方面:
- 通过利用 Capacitor 存储格式中的专用数据编码,可以对编码后的数据执行过滤条件评估操作。
- 专用编码会通过查询计划进行传播,从而可以在数据仍处于编码状态时处理更多数据。
- 通过实现表达式折叠来评估确定性函数和常量表达式,BigQuery 可以将复杂的谓词简化为常量值。
短查询优化
BigQuery 通常会在分布式环境中使用 Shuffle 中间层来执行查询。短查询优化功能可动态识别可以作为单个阶段运行的查询,从而缩短延迟时间并减少槽消耗。当查询在单个阶段运行时,可以更有效地使用专用编码。与可选作业创建模式搭配使用时,这些优化效果最为显著,因为该模式可最大限度地缩短作业启动、维护和结果检索延迟时间。
短查询优化功能的适用性是动态的,受以下因素的影响:
- 数据扫描的预测大小。
- 所需的数据迁移量。
- 查询过滤条件的选择性。
- 存储空间中数据的类型和物理布局。
- 查询的总体结构。
- 过去查询执行的历史统计信息。
启用高级运行时
从 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
:项目的位置
更改可能需要几分钟才能生效。
启用高级运行时后,项目或组织中的符合条件的查询会使用高级运行时,无论查询作业由哪个用户创建都是如此。