1

私が使用しているテーブルには 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複数のノードに分散されているため、結果サイズの制限はないと思いました。とにかく、私はそれについて何ができますか?

4

1 に答える 1

0

コメントによると、ユーザーベースは1700万行以上?これは、クエリ応答に少なくとも 1,700 万行が含まれ、結果が大きすぎて処理できないことを意味します。

適切なクエリは、目的が何であるかによって異なります。本当に 1700 万行の回答を取得したいですか? または、特定のユーザー セットの max(version) だけを気にしますか?

例えば:

SELECT userid, MAX(version) AS current_version
FROM my_table
WHERE userId IN('user1', 'user2', ...)
GROUP BY userId;
于 2013-05-11T06:18:21.720 に答える