特定のクエリで GROUP BY または GROUP EACH BY を使用する必要があるかどうかを (試行錯誤ではなく) 事前に判断する方法はありますか? 現在、カーディナリティが 60 ~ 70% に達すると、Group EACH by を使用するよう求められることがわかりました。SQL を生成するため、予測するのは困難です。
2547 次
1 に答える
5
「EACH」の使用法は、クエリではなく、データに依存します。グループ式に少数の一意の値がありますか? GROUP BY を使用します。たくさんありますか?GROUP EACH BY を使用します。
最善の戦略は、「オーバーリミット エラー」が発生するまで GROUP BY を使用することです。
「なぜ?」をさらに深く掘り下げるには、すべての始まりとなった Dremel の論文を参照してください。基本的に、GROUP BY はミキサーで実行され、GROUP EACH BY はシャードにプッシュされます。
その他の洞察については、「クエリの実行中にリソースが超過しました」で jcondit の回答を確認してください。
于 2013-06-06T01:30:50.817 に答える