Em 25 de julho de 2012 14:38, Vinicius Santos <vinicius.santos.li...@gmail.com> escreveu: > > Nossas estatísticas estão atualizadas, já tentei mudar a consulta de várias > formas, mas preciso utilizar o operador IN.
Por que precisa utilizar o IN? De acordo com o número de registros o PostgreSQL é inteligente o suficiente para escolher entre um índice ou outro, ou então um "seq scan", principalmente quando o índice não interfere em nada - no caso, com 1 registro na tabela. Como sugestão, você pode trocar o seu "IN" por "EXISTS" fazendo apenas uma pequena modificação: SELECT chave, produto FROM visao WHERE EXISTS ( SELECT 1 FROM produtos_contados WHERE visao.produto = produtos_contados.codigo ) Assim obterá mais desempenho, mas para observar mudança no plano de acesso terás que popular sua tabela com mais registros. -- TIAGO J. ADAMI http://www.adamiworks.com _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral