[firebase-br] Subselects ou Left Joins

Euler Jr. euler em siginformatica.com.br
Qua Maio 18 16:29:33 -03 2005


Inclua no seu SQL o plano de otimizacao. No final do SQL ficaria assim:

ORDER BY E.RAZAO PLAN (CLIENTES INDEX(RAZAO))

----- 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