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

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Dane Foster <studdugie(at)gmail(dot)com>
Cc: psql-performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Plan weirdness. A sort produces more rows than the node beneath it
Date: 2023-08-04 15:07:19
Message-ID: CAMkU=1xmXPZYmMqrxKDoYZzGcweiYcpR5dMbV-jWjQOdoF7Bmg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Fri, Aug 4, 2023 at 11:00 AM Dane Foster <studdugie(at)gmail(dot)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

>

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Dane Foster 2023-08-04 15:09:09 Re: Plan weirdness. A sort produces more rows than the node beneath it
Previous Message Dane Foster 2023-08-04 14:59:19 Plan weirdness. A sort produces more rows than the node beneath it