[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