From: | Christoph Haller <ch(at)rodos(dot)fzk(dot)de> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org, wahab(at)mimos(dot)my |
Subject: | Re: How to speeed up the query performance |
Date: | 2003-08-13 14:50:03 |
Message-ID: | 3F3A501A.FDF96A90@rodos.fzk.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
>
> How do I speed up the quey performance if I've a query like this :
> Does 'not in' command will affected the performance?.
Yes, it's well known to be slow in 7.3 and lower, should be fixed in 7.4
AFAIK.
>
> select
>
ts.transportid,ts.transporttype,ts.transportcapacity,ts.transportstatus,ts.routecoverage,ts.transportregnumber
> from transportsetup ts
> where ts.bizid = 'B126'
> and ts.deletestatus = 0
> and ts.transportid not in ( select t.transportid
> from transportsetup
t,servicedetail s,logisticservice l
> where
t.bizid=l.bizid
> and
l.serviceid=s.serviceid
> and
t.transportid=s.transportid
> and t.bizid =
'B126'
> and
l.status='Pending'
> or t.bizid=l.bizid
> and
l.serviceid=s.serviceid
> and
t.transportid=s.transportid
> and t.bizid =
'B126' and l.status='Reserved' )
> order by ts.transporttype;
>
As recently mentioned by Stephan Szabo on '[SQL] How to optimize this
query ?'
NOT EXISTS performs much better.
Try:
select
ts.transportid,ts.transporttype,ts.transportcapacity,ts.transportstatus,ts.routecoverage,ts.transportregnumber
from transportsetup ts
where ts.bizid = 'B126'
and ts.deletestatus = 0
and NOT EXISTS ( select t.transportid
from transportsetup t,servicedetail s,logisticservice l
where ts.transportid = t.transportid
and t.bizid=l.bizid
and l.serviceid=s.serviceid
and t.transportid=s.transportid
and t.bizid = 'B126'
and l.status='Pending'
or t.bizid=l.bizid
and l.serviceid=s.serviceid
and t.transportid=s.transportid
and t.bizid = 'B126' and l.status='Reserved' )
order by ts.transporttype;
Regards, Christoph
From | Date | Subject | |
---|---|---|---|
Next Message | Jonathan Gardner | 2003-08-13 14:50:41 | Re: How to speeed up the query performance |
Previous Message | Christoph Haller | 2003-08-13 14:22:54 | Re: Order of triggers - totally lost |