Re: Using each rel as both outer and inner for JOIN_ANTI - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Using each rel as both outer and inner for JOIN_ANTI
Date
Msg-id 2243123.1680757556@sss.pgh.pa.us
Whole thread Raw
In response to Re: Using each rel as both outer and inner for JOIN_ANTI  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Using each rel as both outer and inner for JOIN_ANTI  (Richard Guo <guofenglinux@gmail.com>)
List pgsql-hackers
Thomas Munro <thomas.munro@gmail.com> writes:
> ... It works if you're OK creating partial paths
> for everything...

Hmm.  The committed patch already causes us to investigate more
paths than before, which I was okay with because it only costs
more if there's an antijoin involved --- which it seems like
there's at least a 50% chance of winning on, depending on which
table is bigger.

This:

> +#if 0
>         /* If any limit was set to zero, the user doesn't want a
> parallel scan. */
>         if (parallel_workers <= 0)
>                 return;
> +#endif

seems like it adds a lot of new paths with a lot lower chance
of win, but maybe we could tighten the conditions to improve
the odds?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Using each rel as both outer and inner for JOIN_ANTI
Next
From: Amit Kapila
Date:
Subject: Re: Minimal logical decoding on standbys