Boa tarde pessoal,

Tenho uma view criada assim:
  CREATE VIEW visao AS SELECT chave AS produto, produto FROM produtos;

Então eu faço um select assim:
  SELECT chave, produto FROM visao WHERE produto = 1234;

até aqui legal. Porém quando faço:

SELECT chave, produto FROM visao WHERE produto IN ( SELECT codigo FROM
produtos_contados ),

o plano de execução muda radicalmente neste segundo caso, no segundo caso
ele está fazendo um seq scan completo na tabela de produtos, mesmo que na
tabela "produtos_contados" do exemplo tenha apenas um produto, por exemplo,
o 1234;

Nossas estatísticas estão atualizadas, já tentei mudar a consulta de várias
formas, mas preciso utilizar o operador IN.

Alguém tem alguma sugestão, do que eu poderia olhar?

Versão 8.4.12.
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a