From: | Cesar Suga <sartre(at)gmail(dot)com> |
---|---|
To: | carlos(dot)reimer(at)opendb(dot)com(dot)br |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: RES: Improving SQL performance |
Date: | 2007-01-11 23:47:33 |
Message-ID: | 45A6CCAC.4000207@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Hi, Carlos,
Wouldn't it be better if you used INT in 'codcep' in both tables (as
CEP/ZIP numbers are [0-9]{8})? Casting as Tom Lane suggested is also a
good alternative, yet I think it'd be much better if you used int in
both columns.
Regards,
Cesar
Let's see the query:
SELECT ENDE.* , DEND.DESEND, DEND.USOEND, DEND.DUPEND,
to_char('F') as NOVO,
LOG.TIPLOG
FROM TT_END ENDE LEFT OUTER JOIN TD_END DEND ON DEND.CODTAB =
ENDE.TIPEND
LEFT OUTER JOIN TT_LOG LOG ON LOG.CODCEP =
ENDE.CODCEP||CODLOG
WHERE ENDE.FILCLI = '001'
AND ENDE.CODCLI = ' 19475';
Carlos H. Reimer wrote:
> Yes, I do have an index on tt_log.codcep.
>
> Indexes I´ve on both tables:
>
> tt_end
> Indexes:
> "pk_end" PRIMARY KEY, btree (filcli, codcli, codfil, numend)
> "ak_end_numdoc" UNIQUE, btree (numdoc)
> "i_fk_end_darc" btree (codarc, tiparc)
> "i_fk_end_dend" btree (tipend)
> "i_fk_end_dfil" btree (codfil)
> "i_fk_end_dreg" btree (regiao)
> "i_fk_end_mun" btree (codcid)
> tt_log
> Indexes:
> "i_fk_log_bai" btree (codbai)
> "i_lc_log_codcep" btree (codcep)
>
> Any clue?
>
> Thanks!
>
> Reimer
>
>
>
>> -----Mensagem original-----
>> De: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
>> Enviada em: quinta-feira, 11 de janeiro de 2007 16:31
>> Para: carlos(dot)reimer(at)opendb(dot)com(dot)br
>> Cc: pgsql-performance(at)postgresql(dot)org
>> Assunto: Re: [PERFORM] Improving SQL performance
>>
>>
>> "Carlos H. Reimer" <carlos(dot)reimer(at)opendb(dot)com(dot)br> writes:
>>
>>> I know that the problem with the following SQL is the "LOG.CODCEP =
>>> ENDE.CODCEP||CODLOG" condition, but what can I
>>> do to improve the performance?
>>>
>> Seems the problem is not using an index for tt_log. Do you have an
>> index on tt_log.codcep? If so, maybe you need to cast the result of
>> the concatenation to char(8) to get it to use the index.
>>
>> regards, tom lane
>>
>>
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-01-12 01:09:18 | Re: [HACKERS] unusual performance for vac following 8.2upgrade |
Previous Message | Simon Riggs | 2007-01-11 23:14:34 | Re: [HACKERS] unusual performance for vac following 8.2upgrade |