Richard Huxton <dev(at)archonet(dot)com> writes:
> I know this has been covered on one of the lists in the past, but I'm damned
> if I can find the keywords to locate it.
> If I join two tables with a comparison to a constant on one, why can't the
> planner see that the comparison applies to both tables:
It sure does. Postgres does an impressive job of tracing equality clauses
around for just this purpose.
> SELECT a.id FROM a JOIN b ON a.id=b.id WHERE a.id=1;
> runs much slower than
> SELECT a.id FROM a JOIN b ON a.id=b.id WHERE a.id=1 AND b.id=1;
Really? They produce virtually the same plan for me.
Why do you think it'll run slower?
What query are you actually finding slow?
In response to
pgsql-performance by date
|Next:||From: Neil Conway||Date: 2003-03-05 13:54:58|
|Subject: Re: OIDs as keys|
|Previous:||From: Richard Huxton||Date: 2003-03-05 11:13:14|
|Subject: Planner matching constants across tables in a join|