| From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
|---|---|
| To: | "Peter T(dot) Brown" <peter(at)memeticsystems(dot)com> |
| Cc: | <pgsql-performance(at)postgresql(dot)org> |
| Subject: | Re: stange optimizer results |
| Date: | 2002-11-21 18:34:14 |
| Message-ID: | 20021121101430.J96861-100000@megazone23.bigpanda.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
On 21 Nov 2002, Peter T. Brown wrote:
> Hello--
>
> Attached is a file containing two SQL queries. The first take
> prohibitively long to complete because, according to EXPLAIN, it ignore
> two very important indexes. The second SQL query seems almost identical
> to the first but runs very fast because, according to EXPLAIN, it does
> uses all the indexes appropriately.
>
> Can someone please explain to me what the difference is here? Or if
> there is something I can do with my indexes to make the first query run
> like the second?
It doesn't take into account that in general a=b, b=constant implies
a=constant.
Perhaps if you used explicit join syntax for visitor joining
visitorextra it might help. Like doing:
FROM visitor inner join visitorextra on (...)
left outer join ...
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Stephan Szabo | 2002-11-21 18:35:37 | Re: stange optimizer results |
| Previous Message | Henrik Steffen | 2002-11-21 18:20:16 | Re: vacuum full |