Database Google bigQuery中的查询工作很慢
我有一个包含近一百万行的表。在其中搜索单个值需要5秒,15秒内大约500秒。这是相当长的一段时间。请让我知道如何优化查询 我的问题是:Database Google bigQuery中的查询工作很慢,database,search,google-bigquery,Database,Search,Google Bigquery,我有一个包含近一百万行的表。在其中搜索单个值需要5秒,15秒内大约500秒。这是相当长的一段时间。请让我知道如何优化查询 我的问题是: select a,b,c,d from table where a in ('a1','a2') Job id:stable-apogee-119006:Job_clldiuddlyya6tc2jfc5gxbxmv0我不确定你说的“500需要15秒”是什么意思,但我对我们的数据库运行了一些测试,试图模拟你正在运行的东西,我得到了一些与你类似的结果 (我的查询比
select a,b,c,d from table where a in ('a1','a2')
Job id:stable-apogee-119006:Job_clldiuddlyya6tc2jfc5gxbxmv0我不确定你说的“500需要15秒”是什么意思,但我对我们的数据库运行了一些测试,试图模拟你正在运行的东西,我得到了一些与你类似的结果 (我的查询比你的查询慢,因为它有一个
join
操作,但我们还是这样做了):
只查询一天,只带来一个完整的访客,BQ大约花了5秒来处理1.7Gbs
当我在上个月运行相同的查询并删除limit
操作符时,处理56GB数据(大约3300万行)需要10秒:
这是疯狂的快
因此,您可能需要评估您的项目规格。如果5秒对您来说仍然太多,那么您可能需要在您的体系结构中找到最适合您的其他策略
BigQuery确实需要几秒钟来处理其需求,但它也可以在几秒钟内处理数百GB的数据
如果您的项目数据消耗预计将增长,并且您将开始处理数百万行,那么您可能会评估在应用程序中等待几秒钟是否仍然可以接受
除此之外,就您的查询而言,我认为没有多少优化可以改善其性能
(注:我决定运行100天,它在14秒内处理了大约100 GB的数据。)为什么投票被否决?有关于如何优化的答案吗?请阅读以下内容:。帮助他人通过提供您试图运行的查询来帮助您。对于BigQuery工程师来说,拥有过去一些查询的作业ID可能也会有所帮助。感谢您添加作业ID。除非有人比我强,否则我将在明天早上(太平洋时间)查看。您在查询中使用了哪种billingTier?您使用的是传统SQL还是标准SQL?你的桌子有分区吗?Bigquery是用于TB级的bigdata工具,所以不要期望答案小于3秒,即使是小数据也不会有答案。但是对于海量数据来说,它将非常快。根据时间或任何其他字段划分表?不,我们只有一张10行的桌子。
SELECT
a.fv fv,
a.v v,
a.sku sku,
a.pp pp from(
SELECT
fullvisitorid fv,
visitid v,
hits.product.productsku sku,
hits.page.pagepath pp
FROM (TABLE_DATE_RANGE([40663402.ga_sessions_], DATE_ADD(CURRENT_DATE(), -3, 'day'), DATE_ADD(CURRENT_DATE(), -3, 'day')))
WHERE
1 = 1 ) a
JOIN EACH (
SELECT
fullvisitorid fv,
FROM (TABLE_DATE_RANGE([40663402.ga_sessions_], DATE_ADD(CURRENT_DATE(), -3, 'day'), DATE_ADD(CURRENT_DATE(), -3, 'day')))
GROUP EACH BY
fv
LIMIT
1 ) b
ON
a.fv = b.fv