public inbox for [email protected]
help / color / mirror / Atom feedFrom: Thomas Munro <[email protected]>
To: Tomas Vondra <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Adrian Mönnich <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: [email protected]
Cc: Tomas Vondra <[email protected]>
Subject: Re: BUG #19449: Massive performance degradation for complex query on Postgres 16+ (few seconds -> multiple hours)
Date: Thu, 16 Apr 2026 17:25:01 +1200
Message-ID: <CA+hUKGL=tHLCbVHMEno2AQentOYL0jTS=iLE0BEgdWPaUDASiA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<dihw6lynx3p75sv5fbgqjlsu3kfeagcnm4px2r7mgsvf4w2sf5@53udqm4e5wid>
<[email protected]>
<jivwllcuyvd7m4ceydwwpjptmadfe3cfbw47hqnej7yjfkleej@2q33rbrfybm4>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
On Sun, Apr 5, 2026 at 2:45 AM Tomas Vondra <[email protected]> wrote:
> At this point I was suspecting the data distributions for the join
> columns may be somewhat weird, causing issues for the hashjoin batching.
> For events.contributions.id it's perfectly fine - it's entirely unique,
> with each ID having 1 entry. Unsurprisingly, because it's the PK. But
> for attachments.folders.contribution_id I see this:
>
> SELECT contribution_id, count(*) FROM attachments.folders
> GROUP BY contribution_id ORDER BY 2 DESC;
>
> contribution_id | count
> -----------------+--------
> | 464515
> 5492978 | 67
> 4117499 | 42
> 4045045 | 41
> ...
>
> So there's ~500k entries with NULL, that can't possibly match to
> anything (right)? I assume we still add them to the hash, though.
That's also the conditions required to prevent the
"stop-partitioning-it's-not-working" logic from triggering. That
thing where we know we need to pick a better lower than 100%. But
what?
Did this commit help?
commit 1811f1af98fb237fdd5adb588cd4b57c433b75f8
Author: Tom Lane <[email protected]>
Date: Thu Mar 19 15:21:36 2026 -0400
Improve hash join's handling of tuples with null join keys.
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: BUG #19449: Massive performance degradation for complex query on Postgres 16+ (few seconds -> multiple hours)
In-Reply-To: <CA+hUKGL=tHLCbVHMEno2AQentOYL0jTS=iLE0BEgdWPaUDASiA@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox