5

特定のクエリで GROUP BY または GROUP EACH BY を使用する必要があるかどうかを (試行錯誤ではなく) 事前に判断する方法はありますか? 現在、カーディナリティが 60 ~ 70% に達すると、Group EACH by を使用するよう求められることがわかりました。SQL を生成するため、予測するのは困難です。

4

1 に答える 1

5

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

最善の戦略は、「オーバーリミット エラー」が発生するまで GROUP BY を使用することです。

「なぜ?」をさらに深く掘り下げるには、すべての始まりとなった Dremel の論文を参照してください。基本的に、GROUP BY はミキサーで実行され、GROUP EACH BY はシャードにプッシュされます。

その他の洞察については、「クエリの実行中にリソースが超過しました」で jcondit の回答を確認してください。

于 2013-06-06T01:30:50.817 に答える