如何比较BigQuery中的查询性能?

问题描述 投票:0回答:1

我在BigQuery中有复杂的查询,可以修改以进一步优化。 (我正在使用GCP控制台运行这些查询)但是,我无法测试我的更改是否确实在改善性能。

我正在检查执行细节以了解性能,并且我希望“已消耗的时隙时间”是可比的指标。但是执行细节似乎不一致。

两次运行相同的查询:

“

“

有没有其他方法或工具可用来随时间持续比较查询性能?

sql google-bigquery query-performance
1个回答
0
投票

您可以使用the query plan and timeline分析和比较查询性能,并集中精力处理需要花费更多时间并尝试对其进行优化的步骤;但是,请记住,查询性能可能会根据资源可用性而有所不同。 Here您可以找到建议来提高查询的性能。

另一方面,在广告位时间利用率方面,BigQuery执行查询作业时,它将声明性SQL语句转换为执行图,并分解为一系列查询阶段,这些查询阶段本身由更细粒度的执行步骤。 BigQuery利用高度分散的并行架构来运行这些查询,并且各个阶段对许多潜在工作人员可以并行执行的工作单元进行建模。 BigQuery查询执行是动态的,这意味着可以在查询进行期间修改查询计划。查询运行时引入的阶段通常用于改善整个查询工作程序中的数据分布。每当提交新查询时,都会在执行中的查询之间自动重新分配容量。随着更多容量可用于每个查询,可以适当地暂停,恢复和排队各个工作单元。

基于此,BigQuery不能保证您执行查询的所有时间所消耗的时间段都是相同的,这取决于资源的状态及其可用性。我建议您查看the query execution using slotsthe query execution under slot resource economythe fair scheduling in BigQuery文档,您可以在其中找到有关BigQuery如何处理查询的说明。

© www.soinside.com 2019 - 2024. All rights reserved.