Re: Plan weirdness. A sort produces more rows than the node beneath it

Dane Foster <studdugie@gmail.com>

From: Dane Foster <studdugie@gmail.com>
To: Jeff Janes <jeff.janes@gmail.com>
Cc: psql-performance <pgsql-performance@postgresql.org>
Date: 2023-08-04T15:09:09Z
Lists: pgsql-performance
Thanks for the explanation.


Dane


On Fri, Aug 4, 2023 at 11:07 AM Jeff Janes <jeff.janes@gmail.com> wrote:

> On Fri, Aug 4, 2023 at 11:00 AM Dane Foster <studdugie@gmail.com> wrote:
>
>> Hello,
>>
>> I'm trying to understand a bit of weirdness in a plan output. There is a
>> sort node above a sequential scan node where the scan node produces 26,026
>> rows yet the sort node above it produces 42,995,408. How is it possible
>> to sort more data than you received?
>>
>
> This is normal for a merge join.  For every tie in the first input, the
> qualifying part of the 2nd input must be rescanned, and the rows are
> tallied again (in the sort node) each time they are rescanned.
>
> Cheers,
>
> Jeff
>
>>