| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | "henk de wit" <henk53602(at)hotmail(dot)com> |
| Cc: | pgsql-performance(at)postgresql(dot)org |
| Subject: | Re: Redundant sub query triggers slow nested loop left join |
| Date: | 2007-04-21 23:48:08 |
| Message-ID: | 13922.1177199288@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
"henk de wit" <henk53602(at)hotmail(dot)com> writes:
> Naively I would say that a planner
> would have to be smart enough to see this by itself?
We got rid of direct tests for redundant WHERE clauses a long time ago
(in 7.4, according to some quick tests I just made). They took a lot
of cycles and almost never accomplished anything.
Since you have two redundant tests, the selectivity is being
double-counted, leading to a too-small rows estimate and a not very
appropriate choice of join plan.
FWIW, CVS HEAD does get rid of the duplicate conditions for the common
case of mergejoinable equality operators --- but it's not explicitly
looking for duplicate conditions, rather this is falling out of a new
method for making transitive equality deductions.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Colin McGuigan | 2007-04-22 01:48:22 | Re: Odd problem with planner choosing seq scan |
| Previous Message | henk de wit | 2007-04-21 23:23:50 | Redundant sub query triggers slow nested loop left join |