[firebase-br] Left Join
Fabiano Arndt
fabianoallex em gmail.com
Sex Set 30 11:07:54 -03 2005
Olá pessoal,
tenho uma tabela de cadastro com algumas poucas linhas e um tabela de
cidade com algumas mil linhas (todas as cidades do brasil)
na tabela TB_CADASTRO tenho uma FK para a tabela TB_CIDADE, mas com
campo podendo ser null,
precisei fazer uma SQL que trouxesse todos os cadastro e a cidade onde
eles estão, mais ou menos a metade dos registros da tabela TB_CADASTRO
tem o campo COD_CIDADE = null, então precisei fazer um left join,
porém o desempenho dessa consulta ficou muito baixo, abaixo tenho duas
SQL que usei para fazer as consultas, a primeira demora uns 3 ou 4
segundos para retornar, enquanto a segunda é quase instantaneo.
o problema de usar a ultima consulta é que não consigo trazer os
cadastros com COD_CIDADE nulos.
tive a impressão que FB não usou os índices quando é executado o LEFT JOIN...
hj esses 3 ou 4 segundos não são problemas, mas imagino que quando
tiver uma quantidade razoável de cadastro o problema pode piorar, além
de ter outras situações mais complicadas onde pretendo usar o left
join.
alguém sabe o que pode estar acontecendo ou como eu posso fazer para
contornar esse problema??
Flw, aquele abraço.
Fabiano.
SELECT
CAMPO1,
CAMPO2
FROM
TB_CADASTRO LEFT JOIN
TB_CIDADE ON
TB_CADASTRO.COD_CIDADE = TB_CIDADE.COD_CIDADE
SELECT
CAMPO1,
CAMPO2
FROM
TB_CADASTRO,
TB_CIDADE
WHERE
TB_CADASTRO.COD_CIDADE = TB_CIDADE.COD_CIDADE
Mais detalhes sobre a lista de discussão lista