[firebase-br] Left Join

Henery Linck Rosenhaim henery em multi-informatica.com.br
Sex Set 30 11:26:20 -03 2005


tente:

SELECT
  CAMPO1,
  CAMPO2
FROM
  TB_CADASTRO,
  TB_CIDADE
WHERE
  (TB_CADASTRO.COD_CIDADE = TB_CIDADE.COD_CIDADE) OR
  (TB_CADASTRO.COD_CIDADE IS NULL)



Fabiano Arndt escreveu:

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