Re: query optimization

From: "Gaetano Mendola" <mendola(at)bigfoot(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: query optimization
Date: 2002-10-15 13:03:45
Message-ID: aoh3nc$2uep$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

>
> The query is and the explain analyze are:
>
> testsklad19=# explain analyze select
> N.IDS,N.IDS_NUM,N.IDS_SLU,N.IDS_SKLAD,SK.MNAME AS
> SKNAME,N.ZAPR,N.NOMNUM,NOM.NUM,N.NOMNAME,NOM.MNAME AS
>
NOMNAME,N.PART,N.SERIENNUM,N.IZV,N.KOL,N.IDS_MED,N.MED,N.IDS_MED_MAIN,N.MED_
MAIN,N.OTN_MED,N.CENA,N.VAL,N.KURS,N.CENADDS,N.DDS,N.CENA_LV,N.CENA_LVDDS,N.
TOT,N.DTO,N.PTO,N.ORDER_NUM,N.IDS_DOC2,NOM.OSN_MED,NOM.DOP1_MED,NOM.DOP2_MED
,NOM.OTN_DOP1_MED,NOM.OTN_DOP2_MED,N.DTON
>
,N.OFFIC,N.DATE_IZL,N.IZL,N.OTCH_CENA,N.CENAMITALV,N.CENATAKSILV,N.CENATRANS
LV,N.CENA,N.CENAZASTRLV
> from A_SKLAD N left outer join A_LOCATION SK ON ( N.IDS_SKLAD=SK.IDS )
> left outer join A_NOMEN NOM ON ( N.IDS_NUM = NOM.IDS ) where N.FID = 0
> AND N.IDS_DOC = 'SOF_500' ORDER BY N.ORDER_NUM ;
> NOTICE: QUERY PLAN:
>

Well,
can you tell us the index that are present on table A_SKLAD ?
It seem that there are no index on the field FID, BTW if for you
are always important only the line whit FID = 0 ( or other few values )
you can create a partial index:

CREATE INDEX idx_partial ON a_sklad ( fid ) WHERE FID = 0;

or if the values are more:

CREATE INDEX idx_partial ON a_sklad ( fid ) WHERE FID IN ( val1, val2,
.... );

Dont forget to do: 'vacuum analyze a_skland' after index creation.

Good luck
Gaetano

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2002-10-15 13:25:42 Re: RV: bad result in a query!! :-(
Previous Message Andrew Sullivan 2002-10-15 12:48:36 Re: [GENERAL] Postgres-based system to run .org registry?