[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