2013-05-08 8 views
5

特定のクエリでGROUP BYまたはGROUP EACH BYを使用する必要があるかどうかは、試行錯誤ではなく事前に把握する方法がありますか? 現在、〜60-70%の基数の後で、Group EACHを使用するように求められています。私たちがSQLを生成すると予測するのは難しいです。グループごとに事前にグループを指定してください

答えて

4

'EACH'の使用法は、クエリに依存するのではなく、データに依存します。グループ式に固有の値は少数ですか? GROUP BYを使用します。たくさんありますか? GROUP EACH BYを使用します。

"限界を超えたエラー"が出るまで、GROUP BYを使用するのが最善の方法です。

「なぜ?」ということを深く知るには、それをすべて開始したドレメル紙を見ることができます。基本的にGROUP BYはミキサーで動作し、GROUP EACH BYはシャードにプッシュされます。

その他の洞察については、jconditの回答をResources Exceeded during query executionで確認してください。

+0

ありがとうございますが、ユーザーに「エラーが発生しました」というクエリを実行させて再度実行することはできません。 – user1516770

+0

私は同意します!ユースケースについてもっと教えていただけますか? –

関連する問題