Paulo Marcelo escreveu:
> 
>             Estou com uma dúvida:
> Não sei qual consulta é melhor em termos de performance, executei ambas 
> no pgadmin e os tempos ficam variando muito tem vezes que uma é mais 
> rápida que outra outras vezes acontece o inverso. Segue abaixo as duas 
> consultas:
> 
> SELECT descricao_produto_animal, unidade_produto_animal FROM 
> irrigacao.produto_animal AS produto, irrigacao.tipo_producao_animal AS 
> tipo_producao
> WHERE tipo_producao.descricao_tipo_producao_animal='para abate'
> AND 
> produto.codigo_tipo_producao_animal=tipo_producao.codigo_tipo_producao_animal
> 
> 
> SELECT descricao_produto_animal, unidade_produto_animal FROM 
> irrigacao.produto_animal AS produto, irrigacao.tipo_producao_animal AS 
> tipo_producao
> WHERE 
> produto.codigo_tipo_producao_animal=tipo_producao.codigo_tipo_producao_animal
> AND tipo_producao.descricao_tipo_producao_animal='para abate'
> 



Faça o seguinte:
. rode um ANALYZE em seu bd
. para cada consulta rode um EXPLAIN ANALYZE sua_consulta
. compare os planos de execução e os custos calculados/efetivos

Como relembraram um dia destes: "foi dito na PgCon-br que o pessoal 
que desenvolveu o otimizador do PostgreSQL é muito mais inteligente 
que você" por isso não acredito que colocar na cláusula WHERE "cond-A 
AND cond-B" ou "cond-B AND cond-A" possa acarretar qualquer diferença 
em termos de performance.
Talvez você tenha que pesquisar outras coisas como por ex. se são 
execuções subsequentes, e dependendo do volume, provavelmente os dados 
já estarão em cache e,portanto, a segunda consulta será mais rápida.

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a