查询耗费大量时间的bigquery

时间:2018-04-30 06:31:15

标签: google-bigquery

我刚刚开始使用bigquery,但担心最佳实践,因为我刚刚触发了一个查询以获得结果,但它花费了大量时间而不是预期的一个,在snap下面有查询触发了。

有人可以指导我快速通过大问题,或者我们没有机制使其快速

1 个答案:

答案 0 :(得分:0)

作为一般建议,我强烈建议您浏览Query Performance best practices documentation。在那里,您将能够从多个角度(I / O,混洗,特定查询模式......)找到有关如何优化BigQuery性能的大量信息。此外,how to troubleshoot BQ errors上的这个其他页面在您遇到特定的工作错误时非常有用,并且还包含一些处理它们的最佳实践。您可能对estimating the costs(以及将要处理的数据量,因此通过使用干运行估计查询的复杂程度)感兴趣。最后,您可以查看Query Plan,以便更好地了解查询的执行情况。

关于您的具体用例,请允许我提供一些提示:

  • 现在您开始使用BigQuery,从标准SQL而不是传统SQL开始(我看到您使用[project:dataset.table]格式调用表的方式使用旧版SQL)。标准SQL是与BigQuery一起使用的推荐语言,虽然可能没有明显的性能差异,但有一些advantages of using Standard SQL。您可以toggle the SQL language in use通过文档中提供的任何方法。
  • 您应该optimize your JOIN patterns首先放置最大的表格(即在JOIN操作的左侧)。

最后,我想分享一些关于如何更好地使用Stack Overflow的技巧:

  • 不要共享您不希望其他用户知道的数据。例如,理想情况下不应共享项目ID或数据集名称。因此,建议您在共享任何查询或类似信息之前对该数据进行模糊处理。在这种情况下,您使用的是公共数据集,但如果您使用自己的数据集,请随意使用占位符。
  • 分享代码而不是屏幕截图。通过这种方式,社区可以更好地处理您的问题,方法是无需手动输入即可复制数据。
  • 尽可能具体。自行调查,尝试解决您的问题,然后,如果您需要Stack Overflow社区的帮助,请尽可能具体地解决您的问题。它将帮助我们缩小解决方案的范围,并能够以最佳方式为您提供帮助。
  • 访问帮助中心。在那里,您可以找到有关how to improve your questions的大量信息,以便您获得更好的答案。
相关问题