"Radhika Sambamurti" <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend