Luiz Rafael Culik Guimaraes wrote:

>>>> Em segundo lugar, é problema de performance? EXPLAIN. Não mande a
>>>> consulta ou estrutura de tabelas a não ser que alguém peça. Para
>>>> análise
>>>> de performance, é essencial a versão, pois várias otimizações são
>>>> feitas
>>>> durante as versões.
>>>
>>> postgres 64bits  versao 8.1.6 em redhat enterprise 4
>>>
Algumas observações sobre as suas consultas:
* todas as consultas utilizam IN() - versões anteriores a 8.2 não tem
uma otimização para listas longas no IN;
* consulta 1 - a única anormalidade que vi foi um seqscan na tabela
sif00_con1000_dbf. Neste caso pode um índice para a expressão que você
utiliza pra comparar;
* consulta 2 - a anormalidade neste caso é um seqscan na tabela
granol_sie3000_dbf, que pode ser resolvido criando-se um índice;

Não vi porque a sua consulta está ineficiente (lenta). Vejo que você
compara muito string, isso não é muito bom, pois comparações de string
são mais lentas que comparações de inteiros.

Sugiro que teste a mesma consulta em uma versão mais nova do PostgreSQL
(8.2.4), pois tivemos algumas otimizações importantes feitas.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a