David Rowley <dgrowle...@gmail.com> writes:
> I suspect ed1a88dda would be what made this faster in master. We'll
> check for peer rows to check "NULL IS NOT DISTINCT FROM NULL" prior to
> that change with the ORDER BY NULL query.

Mmm, yeah, probably so: "order by null rows between unbounded preceding
and current row" has about the same performance in v15 as HEAD has
with just "order by null".

I suspect most of the remaining performance discrepancy is just triggered
by having to pass the extra always-NULL column forward through the various
plan steps.  We could teach createplan.c to generate a WindowAgg plan node
that omits the useless column from ordNumCols/ordColIdx/etc, but I'm not
sure if that'd save much in itself.  (The comment in create_windowagg_plan
shows we already thought about that and decided it wasn't worth the
trouble.)  Getting rid of the useless targetlist column altogether would
be way more invasive, and I'm not inclined to try.

                        regards, tom lane


Reply via email to