Thanks Tom and Alvaro.
To follow up on this, I re-wrote and tweaked a number of queries (including the one provided) to change "LEFT OUTER JOIN ... WHERE col IS NULL" clauses to "WHERE col NOT IN (...)" clauses.
This has brought performance to an acceptable level on 8.2.
Thanks for your time,
Steve
On 6/7/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:Alvaro Herrera <alvherre@commandprompt.com> writes:
> Tom Lane escribió:
>> I was hoping that the auto plan invalidation code in CVS HEAD would get
>> it out of this problem, but it seems not to for the problem-as-given.
>> The trouble is that it won't change plans until autovacuum analyzes the
>> tables, and that won't happen until the transaction commits and sends
>> off its I-inserted-lotsa-rows report to the stats collector.
> I think there is something we can do about this -- drop the default
> value for analyze threshold.
Maybe worth doing, but it doesn't help for Steve's example.
regards, tom lane