有啥命令可以获取大查询执行计划吗?
Posted
技术标签:
【中文标题】有啥命令可以获取大查询执行计划吗?【英文标题】:Any command to get big query execution plan?有什么命令可以获取大查询执行计划吗? 【发布时间】:2015-05-03 06:52:29 【问题描述】:有没有办法在大查询中获得查询执行计划以及性能分析。
【问题讨论】:
【参考方案1】:BigQuery 现在在网页界面中内置了查询说明。这就是我认为你所追求的。
【讨论】:
【参考方案2】:目前没有。 BigQuery 执行计划不一定如您所愿;由于没有索引,查询引擎不必根据它认为的最佳键/索引来选择策略。
这并不意味着永远不会有解释计划;我们确实意识到了解查询的性能特征的价值。如果您想跟踪问题,请随时在此处提交功能请求:https://code.google.com/p/google-bigquery/。
【讨论】:
【参考方案3】:也许dryRun
是您感兴趣的。从https://cloud.google.com/bigquery/docs/reference/v2/jobs,搜索dryRun:
[可选] 如果设置,则不实际运行此作业。一个有效的查询将 返回带有一些处理统计信息的大部分为空的响应,而 一个无效的查询将返回相同的错误,如果它不是 空跑。非查询作业的行为未定义。
如果您将 DryRun 标志设置为 true,它将返回有关您的查询的统计信息,即“totalBytesProcessed”,如果查询有效,则不运行您的查询,如果查询有效,您通常会收到相同的错误无效
【讨论】:
【参考方案4】:2021 年更新
这现在是可能的。来自 CLI:
$ bq show -j --format=prettyjson FULL_JOB_ID
API Call:
GET https://bigquery.googleapis.com/bigquery/v2/projects/projectId/jobs/jobId
【讨论】:
以上是关于有啥命令可以获取大查询执行计划吗?的主要内容,如果未能解决你的问题,请参考以下文章