How to optimize this query?

From: Maciej Piekielniak <piechcio(at)isb(dot)com(dot)pl>
To: pgsql-sql(at)postgresql(dot)org
Subject: How to optimize this query?
Date: 2006-03-22 17:17:15
Message-ID: 827987076.20060322181715@isb.com.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello pgsql-sql,

I have postgresql 8.1.3 and database with about 2,7GB (90% large
objects).

When I execute this query postgresql calculate this 2min 50sec. How
can I optimize this query?

select towar.id_towar,towar.key2,towar.nazwa,0 as min,0 as
max,towar.ilosc_jed,towar.ilosc_nom,towar.ilosc_paczkowa,dostawcy.id_dostawcy,jednostka_miary.jednostka,0.0
AS ilosc_magazyn,(select sum(zlecenia_towar.ilosc*zlecenia_elementy.ilosc)
from
zlecenia_towar,zlecenia_elementy,zlecenia
where
zlecenia_towar.id_towar=towar.id_towar and zlecenia_towar.id_zlecenia_elementy=zlecenia_elementy.id_zlecenia_elementy
and zlecenia_elementy.id_zlecenia=zlecenia.id_zlecenia
and (zlecenia.id_paczka in (52,50,53))) as z_zamowien,towar.key1
from (towar LEFT JOIN dostawcy ON (towar.id_dostawcy = dostawcy.id_dostawcy) LEFT JOIN jednostka_miary ON
(towar.id_jednostka_miary = jednostka_miary.id_jednostka_miary)) where towar.policzalne=True group by
towar.id_towar,towar.key2,towar.nazwa,towar.min1,towar.max1,towar.ilosc_jed,towar.ilosc_nom,dostawcy.id_dostawcy
, jednostka_miary.jednostka,towar.ilosc_paczkowa,towar.key1 order by id_dostawcy;

--
Best regards,
Maciej mailto:piechcio(at)isb(dot)com(dot)pl

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Markus Bertheau 2006-03-22 17:58:44 Re: How to optimize this query?
Previous Message Tom Lane 2006-03-22 14:52:13 Re: COPY tablename FROM and null values