和結合ビューよりも下位への GROUP BY ビューのプッシュダウン¶
和結合ビューに対して GROUP BY を実行する場合、集計関数である COUNT、MIN、MAX、または SUM を投影すると、和結合ビューよりも下位に GROUP BY をプッシュダウンできます。
たとえば、 Orders_Spain
ビューと Orders_France
ビューの和結合である order
ビューを定義したとします。これら 2 つのビューのデータは、異なる 2 つのデータベースから取得されます。
以下のクエリを考えます。
SELECT o.product_id, SUM (amount) AS total
FROM order o
GROUP BY o.product_id
このクエリは以下のように変換されます。
SELECT o.product_id, SUM (amount) AS total
FROM
(
SELECT os.product_id, SUM (amount) AS total
FROM orders_Spain os
GROUP BY os._productid)
UNION (
SELECT of.product_id, SUM (amount) AS total
FROM orders_France of
GROUP BY of.id) o
GROUP BY o.product_id
GROUP BY が和結合よりも下位にプッシュダウンされていることがわかります。これにより、GROUP BY 操作をデータベースにプッシュダウンできます。この変換によって、通常は、基盤となるデータソースから Denodo で取得する必要がある行の数が大幅に減少します。
この変換は、きわめて大規模なファクトテーブルを扱うことが普通のビジネスインテリジェンスシナリオ向けにカスタマイズされています。