Re: Which side of a Merge Join gets executed first? Do both sides always get executed? - Mailing list pgsql-performance

From Frédéric Yhuel
Subject Re: Which side of a Merge Join gets executed first? Do both sides always get executed?
Date
Msg-id 1834c776-cd1d-4669-89d9-5fb816acfd08@dalibo.com
Whole thread Raw
In response to Re: Which side of a Merge Join gets executed first? Do both sides always get executed?  (Jerry Brenner <jbrenner@guidewire.com>)
List pgsql-performance

Le 20/12/2023 à 20:04, Jerry Brenner a écrit :
> Thanks.  Does this make sense?
> 
>   * There are 3 nodes under the Merge Join
>   * The first node is an InitPlan, due to the ANY(ARRAY()) - that gets
>     executed and finds 0 matching rows
>   * The second node is the outer node in the Merge Join and that is the
>     expensive node in our query plan
>   * The third node is the inner node in the Merge Join and that node
>     references the SubPlan generated by the first node. The IndexCond
>     has*"id = ANY($2) AND ..."* and the comparison with the result of
>     the SubPlan does not find a match, so that's where the
>     short-circuiting happens.

I think it does.

I'm not very experienced with the customs of these mailing lists, but I 
think the following would help to get more answers :

* TEXT format of EXPLAIN is much more readable (compared to JSON)
* A well formatted query would help
* Screenshots aren't so great

Rather than a screenshot, maybe you could use one of explain.depesz.com, 
explain.dalibo.com, or explain-postgresql.com ?

Best regards,
Frédéric



pgsql-performance by date:

Previous
From: Jerry Brenner
Date:
Subject: Re: Which side of a Merge Join gets executed first? Do both sides always get executed?
Next
From: Darwin Correa
Date:
Subject: Slow GroupAggregate and Sort