Tom Lane wrote:
Neil Conway <[EMAIL PROTECTED]> writes:
A simple hack might help with a subset of this problem, though. For
queries with both ORDER BY and GROUP BY clauses, we can sort the
grouping columns according to their position in the ORDER BY list. So,
given a query like:

SELECT a, b, max(c) FROM t1 GROUP BY a, b ORDER BY b;

We can avoid the redundant sort for the ORDER BY by grouping by (b, a)
instead. Attached is a proof-of-concept patch that implements this,
although it's an enormous kludge.

I think that's the wrong place.  transformGroupClause is the right
place.   It already does some hacking to try to make the GROUP BY
semantics match ORDER BY, but it doesn't think to try reordering
the GROUP BY items.

Does it also throw out unnecessary columns in the GROUP BY? Like when the GROUP BY contains multiple columns of which one (or a set) already uniquely identifies every row.

regards,
Lukas

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to