Re: Postgres 8.3, four times slower queries?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Aaron Guyon <battlemage(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Postgres 8.3, four times slower queries?
Date: 2009-03-03 22:34:12
Message-ID: 17797.1236119652@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Aaron Guyon <battlemage(at)gmail(dot)com> writes:
> I find it telling that the query plan differs so much between postgres 8.2.

Well, you haven't shown us either the query or the table definitions,
so we're just guessing in the dark. However, the occurrences of
"::numeric" in the query plan make me wonder whether all of your join
keys are numeric type. If so, the reason 8.2 didn't use any hash joins
is that it couldn't --- it didn't have a hash method for numerics. 8.3
does and therefore has more flexibility of plan choice. Comparisons on
numerics aren't terribly fast though (in either release). I wonder
whether you could change the key columns to int or bigint.

I also find it a tad fishy that both releases are choosing *exactly* the
same join order when there is hardly anything else that is identical
about the plans --- given the cross-release variance in rowcount
estimates etc I'd have expected at least one difference. Are you doing
something to force the join order, like running with a small
join_collapse_limit setting? If so maybe you shouldn't.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Flavio Henrique Araque Gurgel 2009-03-04 00:28:56 work_mem in high transaction rate database
Previous Message Tom Lane 2009-03-03 21:27:05 Re: Problems with ordering (can't force query planner to use an index)