【问题标题】:BigQuery Table too large for JOIN & Resources exceeded during query executionBigQuery 表太大,查询执行期间超出了 JOIN 和资源
【发布时间】:2014-05-29 20:16:17
【问题描述】:

我尝试了两种不同的方法来执行此查询,但我收到 Table too large for join for first 和 Resources 在第二个查询执行期间超出...

这些查询:

SELECT COUNT(DISTINCT(s_pageview_id)) as total
FROM impressions.tbl_impressions_201405
WHERE i_browser IN (1)
AND fk_i_id_tbl_vertical IN (1)
AND i_section IN (1)
AND s_ads_list != ''
AND b_is_human = true
AND DATE(dt_date) = '2014-05-28'
AND s_pageview_id NOT IN (
  SELECT s_pageview_id
  FROM impressions.tbl_impressions_201405
  WHERE i_section IN (26,27,83,96)
  AND i_browser IN (1)
  AND fk_i_id_tbl_vertical IN (1)
  AND DATE(dt_date) = '2014-05-28'
  AND s_ads_list != ''
  AND b_is_human = true
)

第二次查询:

SELECT COUNT(*) AS total
FROM impressions.tbl_impressions_201405 as impressions_1
LEFT OUTER JOIN EACH impressions.tbl_impressions_201405 as impressions_2
ON impressions_1.s_pageview_id = impressions_2.s_pageview_id
WHERE impressions_2.i_browser IN (1)
AND impressions_2.fk_i_id_tbl_vertical IN (1)
AND impressions_2.i_section IN (1)
AND impressions_2.b_is_human = true
AND DATE(impressions_2.dt_date) = '2014-05-28'
AND impressions_1.i_section IN (26,27,83,96)

你知道其他的尝试方法吗?!

非常感谢...

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您的问题严重缺乏元数据。你的表有多大,第一个表的连接在哪里等等。但是:

    1) 试试JOIN EACH。您可以使用 this visualisation as a guide 更具体地使用连接。
    2)尝试保存表格并允许较大的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      相关资源
      最近更新 更多