Re: Sort operation displays more tuples than it contains its subnode - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Sort operation displays more tuples than it contains its subnode
Date
Msg-id 19449.1716412668@sss.pgh.pa.us
Whole thread Raw
In response to Sort operation displays more tuples than it contains its subnode  ("a.rybakina" <a.rybakina@postgrespro.ru>)
Responses Re: Sort operation displays more tuples than it contains its subnode
List pgsql-hackers
"a.rybakina" <a.rybakina@postgrespro.ru> writes:
> I faced the issue, when the sorting node in the actual information  
> shows a larger number of tuples than it actually is. And I can not 
> understand why?

If I'm reading this correctly, the sort node you're worrying about
feeds the inner side of a merge join.  Merge join will rewind its
inner side to the start of the current group of equal-keyed tuples
whenever it sees that the next outer tuple must also be joined to
that group.  Since what EXPLAIN is counting is the number of tuples
returned from the node, that causes it to double-count those tuples.
The more duplicate-keyed tuples on the outer side, the bigger the
effect.

You can see the same thing happening at the Materialize a little
further up, which is feeding the inside of the other merge join.

            regards, tom lane



pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Sort operation displays more tuples than it contains its subnode
Next
From: Martijn Wallet
Date:
Subject: Re: processes stuck in shutdown following OOM/recovery