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
