public inbox for [email protected]
help / color / mirror / Atom feedFrom: Attila Soki <[email protected]>
To: Laurenz Albe <[email protected]>
Cc: [email protected]
Subject: Re: unstable query plan on pg 16,17,18
Date: Mon, 23 Feb 2026 22:19:33 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
> On 23 Feb 2026, at 21:54, Laurenz Albe <[email protected]> wrote:
>>> The difference in the plans is under the "Subquery Scan on odg", starting with
>>> plan node 50 (everything under the "Sort"). I suspect that the mis-estimate
>>> that is at the root of the problem is here:
>>>
>>> -> Index Scan using table_k_late_spec_dp_end_dat_key on schema1.table_k kal (... rows=196053 ...) (... rows=471.00 ...)
>>> Index Cond: (kal.dp_end_dat < ('now'::cstring)::date)
>>> Index Searches: 1
>>> Buffers: shared hit=230 read=49
>>> I/O Timings: shared read=0.142
>>>
>>> PostgreSQL overestimates the row count by a factor of over 400.
>>> Try to fix that estimate and see if that gets PostgreSQL to do the right thing.
>>>
>>> Perhaps a simple ANALYZE on the table can do the trick.
>>
>>
>> In the examples I used table_k to flip the plan with
>> vacuum -Upostgres -vZ -t schema1.tbl_used_in_query db1
>> in the explain output schema1.tbl_used_in_query is table_k
>
> I cannot understand that.
sorry for being unclear.
To "switch" between the ok and wrong plans I execute
vacuumdb -Upostgres -vZ -t schema1.table_k db1
multiple times (1x-3x) until the plan flips. So I thought the table should already have been analyzed.
In my first email I called table_k as the "tbl_used_in_query"
or have I misunderstood that with the analyze?
Thanks
Regards,
Attila
view thread (25+ messages) latest in thread
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]
Subject: Re: unstable query plan on pg 16,17,18
In-Reply-To: <[email protected]>
* 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