Re: Plan weirdness. A sort produces more rows than the node beneath it - Mailing list pgsql-performance

From Dane Foster
Subject Re: Plan weirdness. A sort produces more rows than the node beneath it
Date
Msg-id CA+WxinK_PeQBeZ-SWVqheHNjyjtD3QGZ5gZSzVKxHRYgUG-ktw@mail.gmail.com
Whole thread Raw
In response to Re: Plan weirdness. A sort produces more rows than the node beneath it  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Plan weirdness. A sort produces more rows than the node beneath it  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance

> If the sort is the inner input to a merge join, this could reflect
> mark-and-restore rescanning of the sort's output.  Are there a
> whole lot of duplicate keys on the merge's other side?

Yes. The course_id column's values repeat a LOT on the merge side.

Dane


On Fri, Aug 4, 2023 at 11:10 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Dane Foster <studdugie@gmail.com> writes:
> 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?

If the sort is the inner input to a merge join, this could reflect
mark-and-restore rescanning of the sort's output.  Are there a
whole lot of duplicate keys on the merge's other side?

                        regards, tom lane

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Plan weirdness. A sort produces more rows than the node beneath it
Next
From: Tom Lane
Date:
Subject: Re: Plan weirdness. A sort produces more rows than the node beneath it