Re: Query Plan - Mailing list pgsql-sql

From Gregory Stark
Subject Re: Query Plan
Date
Msg-id 874pk96zhk.fsf@oxford.xeocode.com
Whole thread Raw
In response to Query Plan  ("Radhika Sambamurti" <radhika@88thstreet.com>)
List pgsql-sql
"Radhika Sambamurti" <radhika@88thstreet.com> writes:

> When I run the query with combination of FirmClearingID & status the run
> times are approx 3700ms.
> But when I add tradedate ie date_trunc('day', tradedate) = '20070703' the
> run time becomes a horrendous 19631.958 ms.

I'm not really able to make heads or tails of your plans without the query.
But any where clause of the form date_trunc('...',col)='...' will always
generate crappy plans. And it looks like you already have expressions of that
form in the view even in the one which you label "without date_trunc".

Instead try to write a where clause that the database can understand the end
points of. Something like (col >= '20070703' and col < '20070704'). That's
something the database can apply a normal index to and also something it can
have a chance at guessing how many rows will fit.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com



pgsql-sql by date:

Previous
From: Gregory Stark
Date:
Subject: Re: Converting from MS Access field aliases
Next
From: Tom Lane
Date:
Subject: Re: Converting from MS Access field aliases