From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Noah M(dot) Daniels" <ndaniels(at)mac(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Strange left outer join performance issue |
Date: | 2007-03-23 22:13:52 |
Message-ID: | 25685.1174688032@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
"Noah M. Daniels" <ndaniels(at)mac(dot)com> writes:
> I have two queries that are very similar, that run on the same table
> with slightly different conditions. However, despite a similar number
> of rows returned, the query planner is insisting on a different
> ordering and different join algorithm, causing a huge performance
> hit. I'm not sure why the planner is doing the merge join the way it
> is in the slow case, rather than following a similar plan to the fast
> case.
It likes the merge join because it predicts (apparently correctly) that
only about 1/14th of the table will need to be scanned. This'd be an
artifact of the relative ranges of supplier ids in the two tables.
What PG version is this? 8.2 understands about repeated indexscans
being cheaper than standalone ones, but I get the impression from the
explain estimates that you may be using something older that's
overestimating the cost of the nestloop way.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Noah M. Daniels | 2007-03-23 22:18:34 | Re: Strange left outer join performance issue |
Previous Message | Tom Lane | 2007-03-23 21:49:42 | Re: EXISTS optimization |