Google bigquery BigQuery查询获取>;15分钟
在BigQuery中,我没有遇到一个需要一分钟左右时间的查询,除了出于某种原因的这个查询。有人能解释一下为什么这个问题需要这么长时间吗 如果任何谷歌工程师正在查看此内容,作业ID为job_qHSgmV1CKbJnQeEZpqw1cb1g6f4Google bigquery BigQuery查询获取>;15分钟,google-bigquery,Google Bigquery,在BigQuery中,我没有遇到一个需要一分钟左右时间的查询,除了出于某种原因的这个查询。有人能解释一下为什么这个问题需要这么长时间吗 如果任何谷歌工程师正在查看此内容,作业ID为job_qHSgmV1CKbJnQeEZpqw1cb1g6f4 SELECT DATE(s.signdatetime) fts_date, s.passportid, s.lifetime_tracking_source, SUM(if (MONTH(o.optindatetime)=MONTH(s.s
SELECT
DATE(s.signdatetime) fts_date,
s.passportid,
s.lifetime_tracking_source,
SUM(if (MONTH(o.optindatetime)=MONTH(s.signdatetime),o.cpl,NULL)) rev_first_month
FROM
tableau.signatures s
LEFT JOIN EACH tableau.optins o
ON
s.passportid=o.passportid
WHERE
DATE(s.signdatetime) BETWEEN '2015-10-12'
AND '2015-10-13'
AND s.disposition="accepted"
AND s.FTS="Y"
AND o.finalstatus="collected"
AND DATE(o.optindatetime) BETWEEN '2015-10-12'
AND '2015-10-13'
GROUP BY
1,
2,
3
这些桌子有多大?我建议在执行加入之前过滤数据:
SELECT
DATE(s.signdatetime) fts_date,
s.passportid,
s.lifetime_tracking_source,
SUM(if (MONTH(o.optindatetime)=MONTH(s.signdatetime),o.cpl,NULL)) rev_first_month
FROM (
SELECT signdatetime, passportid, lifetime_tracking_source,
FROM tableau.signatures
WHERE DATE(signdatetime) BETWEEN '2015-10-12' AND '2015-10-13'
AND disposition="accepted"
AND FTS="Y"
) s
LEFT JOIN EACH (
SELECT cpl, optindatetime, passportid
FROM tableau.optins
WHERE finalstatus="collected"
AND DATE(optindatetime) BETWEEN '2015-10-12' AND '2015-10-13'
) o
ON
s.passportid=o.passportid
GROUP BY
1,
2,
3
还可以尝试将每个表分组,而不是仅分组。这两个表的容量都约为30 GB。一个有244549729条记录,另一个有151668971条记录。谢谢你的建议,我现在就去试试。这就解决了问题!非常感谢。现在查询需要8.3秒!我将把这个作为bigquery提示发布:)@FelipeHoffa——你在哪里发布这些提示?