Re: stange optimizer results
Stephan Szabo <sszabo@megazone23.bigpanda.com>
From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: "Peter T. Brown" <peter@memeticsystems.com>
Cc: <pgsql-performance@postgresql.org>
Date: 2002-11-21T18:34:14Z
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 ...