Google Bigquery 用简单的 select 表示 "Response too large to return"
Google Bigquery says "Response too large to return" with simple select
Modifier allowLargeResults 已设置,我还尝试了交互式和批量查询优先级。
table search_results 中有 7000 万条记录,searches 中有 1000 万条记录,[=18 中有大约(仅)900 条记录=]购买table。而且 WHERE 也很好地减少了行数。
SELECT
s.flyFrom, s.to, s.typeFlight, r.price, b.price, b.affily
FROM [sptest.buy] AS b
INNER JOIN [sptest.search_results] AS r
ON b.booking_token=r.booking_token
INNER JOIN [sptest.searches] AS s
ON s.searchid=r.searchid
WHERE
DATE(r.saved_at) >= DATE('2015-06-23 00:00:00') AND
DATE(s.saved_at) >= DATE('2015-06-23 00:00:00')
LIMIT 10
问题可能是由大连接键引起的吗? booking_token 键是可变大小的 50-600 个字符。
我会对此查询做一些修改:
- 将 WHERE 子句过滤器移近 table 扫描
- 使用 JOIN EACH 结构
SELECT
s.flyFrom, s.to, s.typeFlight, r.price, b.price, b.affily
FROM [sptest.buy] AS b
INNER JOIN EACH
(SELECT * FROM [sptest.search_results] WHERE saved_at > DATE('2015-06-23 00:00:00')) AS r
ON b.booking_token=r.booking_token
INNER JOIN EACH
(SELECT * FROM [sptest.searches] WHERE saved_at > DATE('2015-06-23 00:00:00') AS s
ON s.searchid=r.searchid
LIMIT 10
Modifier allowLargeResults 已设置,我还尝试了交互式和批量查询优先级。 table search_results 中有 7000 万条记录,searches 中有 1000 万条记录,[=18 中有大约(仅)900 条记录=]购买table。而且 WHERE 也很好地减少了行数。
SELECT
s.flyFrom, s.to, s.typeFlight, r.price, b.price, b.affily
FROM [sptest.buy] AS b
INNER JOIN [sptest.search_results] AS r
ON b.booking_token=r.booking_token
INNER JOIN [sptest.searches] AS s
ON s.searchid=r.searchid
WHERE
DATE(r.saved_at) >= DATE('2015-06-23 00:00:00') AND
DATE(s.saved_at) >= DATE('2015-06-23 00:00:00')
LIMIT 10
问题可能是由大连接键引起的吗? booking_token 键是可变大小的 50-600 个字符。
我会对此查询做一些修改:
- 将 WHERE 子句过滤器移近 table 扫描
- 使用 JOIN EACH 结构
SELECT
s.flyFrom, s.to, s.typeFlight, r.price, b.price, b.affily
FROM [sptest.buy] AS b
INNER JOIN EACH
(SELECT * FROM [sptest.search_results] WHERE saved_at > DATE('2015-06-23 00:00:00')) AS r
ON b.booking_token=r.booking_token
INNER JOIN EACH
(SELECT * FROM [sptest.searches] WHERE saved_at > DATE('2015-06-23 00:00:00') AS s
ON s.searchid=r.searchid
LIMIT 10