[firebase-br] Subselects ou Left Joins

Moked do Brasil - Marcel (Brazil) marcel em moked.com.br
Qua Maio 18 16:26:48 -03 2005


No primeiro select por ele não estar trazendo os dados corretamento pode ser 
por causa do Left Join pois isto implica que ele traga todos os dados do 
campo a esquerda independente do campo a direito tenta o inner join!!!
E muito melhor um inner join, left join, right join do que uma SubQuery pois 
a performance obtida na SubQuery é concerteza inferior a da performance com 
Join.

----- Original Message ----- 
From: "RAMJ SISTEMAS & CONSULTORIA" <jubrovolski em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, May 18, 2005 4:10 PM
Subject: [firebase-br] Subselects ou Left Joins


> Olá Pessoal
>
> Sei que este assunto já foi tratado aqui, mas estou num impasse.
> Desenvolvi 3 sistemas grandes usando Left Joins para para o relacionamento 
> entre as tabelas. Porém aprofundando mais meus conhecimentos, notei que o 
> firebird não está usando o PLAN corretamente para selecionar o indice 
> correto para o retorno de dados.
> Ex:
> SELECT E.CODCLI
>   , E.RAZAO
>   , D.NOME
> FROM CLIENTES E
> left join PROPRIETARIOS D ON (D.CODPROP=E.CODPROP)
> ORDER BY E.RAZAO
>
> mesmo existindo um indice por RAZAO o firebird não usa este indice no 
> PLAN.
> Porém quando uso:
> SELECT E.CODCLI
>   , E.RAZAO
>   , E.CODPROP
>   , (SELECT D.NOME FROM PROPRIETARIOS WHERE D.CODPROP=E.CODPROP) AS 
> NOMEPROP
> FROM CLIENTES E
> ORDER BY E.RAZAO
> o firebird utiliza o PLAN usando o indice pelo campo RAZAO
>
> 1ª pergunta: Posso deixar como esta o BD que este problema será 
> solicionado no Firebird 2.0 ou seria melhor "arrumar" tudo o que está 
> pronto?
> 2ª pergunta: Quando realmente deverá sair a versão final do 2.0?
>
> Reuber
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> 






Mais detalhes sobre a lista de discussão lista