【发布时间】:2019-01-10 19:42:16
【问题描述】:
当我使用标准 SQL 在 BQ 上运行以下查询时,它说运行时将处理 76.6TB
SELECT
event_time, user_id, activity_id,dbm_insertion_order_id, dbm_total_media_cost_usd
FROM `raw.5295.activity_*`
WHERE _PARTITIONTIME >(SELECT * FROM `analytics-dwh.autobidding.activity_list` )
AND timestamp_micros(event_time) > (SELECT timestamp_micros(MAX(event_time)) from `essence-analytics-dwh.ml_for_autobidding.nest_na_4q18_activity_updated_daily`)
AND _TABLE_SUFFIX IN ('25','20')
analytics-dwh.autobidding.activity_list 表只有一列,其中包含唯一的整数列表
如果我从上表中删除子查询,则查询在运行时使用不到 500GB
SELECT
event_time, user_id, activity_id,dbm_insertion_order_id, dbm_total_media_cost_usd
FROM `raw.5295.activity_*`
WHERE _PARTITIONTIME >TIMESTAMP('2018-12-20')
AND timestamp_micros(event_time) > (SELECT timestamp_micros(MAX(event_time)) from `essence-analytics-dwh.ml_for_autobidding.nest_na_4q18_activity_updated_daily`)
AND _TABLE_SUFFIX IN ('25','20')
为什么在我使用子查询时会发生这种情况?有解决办法吗?
【问题讨论】:
-
感谢您的反馈。我现在正在这样做