Boa tarde a todos,

  Alguém tem idéia por que a consulta

  explain analyze select * from TABELA1 T1 left join TABELA2 T2 on T2.EMP = 1 
and T2.COD = T1.COD where T1.COD = 11957;

  é feito a leitura dos 34.000 registro que eu tenho na tabela TABELA2, 
enquanto que a consulta

  explain analyze select * from TABELA1 T1 left join TABELA2 T2 on T2.EMP = 1 
and T2.COD = 11957 where T1.COD = 11957;

  somente lê um registro (o que é correto)? A única diferença entre as duas 
consultas é o testes T2.COD=T1.COD na primeira e T2.COD=11957 na segunda.

  Obs: 
  - Estou usando o Postgres 8.0.4
  - Já rodei o ANALYZE nas duas tabelas.
  - As duas tabelas somente possuem o índice primário.

Sem mais,

----------------------
Marlon David de Souza
Desenvolvimento
Sysmo Informática Ltda
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a