gpt4 book ai didi

database - 在 Google bigQuery 中查询工作缓慢

转载 作者:搜寻专家 更新时间:2023-10-30 20:51:49 25 4
gpt4 key购买 nike

我有一个表,其中包含将近一百万行。在其中搜索单个值需要 5 秒,在 15 秒内搜索大约 500 个值。这是相当长的时间。请告诉我如何优化查询?

我的查询是:

select a,b,c,d from table where a in ('a1','a2')

工作编号:stable-apogee-119006:job_ClLDIUSdDLYA6tC2jfC5GxBXmv0

最佳答案

我不确定你所说的“500 需要 15 秒”是什么意思,但我对我们的数据库进行了一些测试,试图模拟你正在运行的内容,我得到了一些与你类似的结果

(我的查询比你的慢,因为它有一个join操作,但我们仍然在这里):

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

仅查询一天并带来一个完整的访问者,BQ 大约用了 5 秒来处理 1.7 GB。

当我在上个月运行相同的查询并删除 limit 运算符时,我花了大约 10 秒的时间来处理大约 56GB 的数据(大约 3300 万行):

enter image description here

这太快了。

因此您可能必须评估您的项目规范。如果 5 秒对您来说仍然太多,那么您可能需要在您的架构中找到最适合您的其他策略。

BigQuery 确实需要几秒钟来处理其需求,但它也准备好在几秒钟内处理数百 Gigas。

如果您的项目数据消耗预计会增长并且您将开始处理数百万行,那么您可能会评估在您的应用程序中等待几秒钟是否仍然可以接受。

除此之外,就您的查询而言,我认为没有太多优化可以提高其性能。

(ps:我决定运行 100 天,它在 14 秒内处理了大约 100 GB。)

关于database - 在 Google bigQuery 中查询工作缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39784177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com