我正在使用的表有3个字段:
userId, timestamp, version
我正在运行以下查询:
select userid, MAX(version) as current_version FROM my_table GROUP EACH BY userId;
我得到的回应是:
"errors": [
{
"reason": "responseTooLarge",
"message": "Response too large to return."
}
表的大小为644MB,有12,279,432行。
我认为GROUP EACH BY
没有结果大小限制,因为它分布在多个节点上。无论如何,我能做些什么呢?
答案 0 :(得分:0)
根据评论,用户群超过1700万行?这意味着查询响应将至少有1700万行,结果太大而无法处理。
正确的查询取决于您的目标。你真的想获得1700万行答案吗?或者您只关心特定用户组的最大(版本)?
例如:
SELECT userid, MAX(version) AS current_version
FROM my_table
WHERE userId IN('user1', 'user2', ...)
GROUP BY userId;