Eu já tinha notado que dessa maneira funciona (lê somente um registro). No 
entanto todas as nossas consultas com "left join" (e não são poucas) usam o 
outro formato.

Em Qui 18 Mai 2006 12:56, Paulo Soares escreveu:
> Olá Marlon, pode testar a performance da query seguinte?
>
> explain analyze select * from gcepro02 p2 left join gcepro03 p3 on p3.cod =
> p2.cod where p2.cod = 11957 AND p3.emp = 141;
>
> Agora tenta colocar um índice em gcepro03.emp e testa novamente a
> performance. Se possível mande os planos de execução pra gente.
>
> Paulo Soares
>
> On 5/17/06, marlon david de souza <[EMAIL PROTECTED]> wrote:
> > Testei mas não houve mudanças.
> >
> > Em Qua 17 Mai 2006 19:59, Henery Linck Rosenhaim escreveu:
> > > Nao sei se estou certo, mas analisando por cima, acho q ja sei onde
> > > esta o erro... tente:
> > >
> > > EXPLAIN ANALYZE SELECT * FROM gcepro02 p2 LEFT JOIN gcepro03 p3 ON
> > > p2.cod = p3.cod and p2.emp = 141 WHERE p2.cod = 11957;
> > >
> > > A ordem muda muito num left join...
> > > Na tabela da esquerda ele puxa todos os registros que serao avaliados
> > > para a busca na tabela da direita (no caso antigo, todos, no acima, um
> > > so), depois de validados todos os dados aí sim ele retorna.
> > >
> > > Se eu estiver errado, corrijam-me
> > > Espero ter sido claro.
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a