On Tuesday, December 23, 2014, Robert Haas <robertmh...@gmail.com> wrote:

> On Mon, Dec 22, 2014 at 11:19 AM, Andrew Gierth
> <and...@tao11.riddles.org.uk <javascript:;>> wrote:
> >  Tom> The other reason that's a bad comparison is that I've not seen
> >  Tom> many queries that use more than a couple of window frames,
> >  Tom> whereas we have to expect that the number of grouping sets in
> >  Tom> typical queries will be significantly more than "a couple".
> >
> > I would be interested in seeing more good examples of the size and
> > type of grouping sets used in typical queries.
>
> From what I have seen, there is interest in being able to do things
> like GROUP BY CUBE(a, b, c, d) and have that be efficient.  That will
> require 16 different groupings, and we really want to minimize the
> number of times we have to re-sort to get all of those done.  For
> example, if we start by sorting on (a, b, c, d), we want to then make
> a single pass over the data computing the aggregates with (a, b, c,
> d), (a, b, c), (a, b), (a), and () as the grouping columns.
>
>
>
That is what ChainAggregate node does exactly. A set of orders that fit in
a single ROLLUP list (like your example) are processed in a single go.


-- 
Regards,

Atri
*l'apprenant*

Reply via email to