Re: Strange left outer join performance issue

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

In response to

Responses

Browse pgsql-performance by date

  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