[firebase-br] JOIN x LEFT JOIN

Paulo (O2 Tecnologia) paulo em o2tecnologia.com.br
Ter Jul 20 16:37:08 -03 2010



No caso dos LEFT JOINS o devido a não obrigatoriedade da existência da 
informção na tabela ligada, são realizados subselects afim de trazer os 
dados da tabela1 mesmo que não exista a ligação com a tabela2, quando 
utilizado o JOIN somente você esta usando o INNER JOIN, aonde a 
informação tem que haver nas duas tabelas com isso as subverificações 
não são necessárias e com isso a resposta é muito mais eficiente.



Em 20/07/2010 15:54, Carlos H. Cantu escreveu:
> Compare o plano das duas pesquisas.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> JSJ>  Tenho uma dúvida que não esta fazendo sentido.....
>
> JSJ>  Na junção de 2 tabelas onde a relação de registros é 1 x 1, se uso Left
> JSJ>  Join é muito mais demorado e o volume de registros lidos tambem é maior
> JSJ>  do que se usar apenas Join, não deveria ser no máximo igual pois se é 1
> JSJ>  x 1 qual a diferença, apenas se for algo do FB como trata essa questão
>
> JSJ>  SELECT CAMPOS
> JSJ>  FROM TABELA1
> JSJ>  LEFT JOIN TABELA2 ON (TABELA1.CAMPO  = TABELA2.CODIGO)
>
> JSJ>  (* Lento e le muito mais registro TABELA1 (pelo log do ibexpert).
>
>
> JSJ>  SELECT CAMPOS
> JSJ>  FROM TABELA1
> JSJ>  JOIN TABELA 2 ON (TABELA1.CAMPO  = TABELA2.CODIGO)
>
> JSJ>  (* Rápido e le muito menos registro TABELA1 (pelo log do ibexpert).
>
> JSJ>  O número de registros retornados é igual em ambos os casos, somente a
> JSJ>  estatistica de leitura, que ocorre na tabela1 é maior com LEFT).
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> __________ Information from ESET NOD32 Antivirus, version of virus signature database 5296 (20100720) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
>    




Mais detalhes sobre a lista de discussão lista