[firebase-br] Subselects ou Left Joins

RAMJ SISTEMAS & CONSULTORIA jubrovolski em yahoo.com.br
Qua Maio 18 16:10:52 -03 2005


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







Mais detalhes sobre a lista de discussão lista