[firebase-br] JOIN x LEFT JOIN

Paulo (O2 Tecnologia) paulo em o2tecnologia.com.br
Qua Jul 21 12:52:27 -03 2010



Mas há diferenças entre o LEFT JOIN e LEFT OUTER JOIN, aonde o LEFT JOIN 
desobriga a necessidade da informação na tabela ligada, ja LEFT OUTER 
JOIN, você esta manda que se liste tudo da tabela primária, e que não 
tenha ligação com a tabela ligada.

Como disse ambas são solicitações bem distintas, e que com os indices 
certos haverá ou não uma boa performance.



Em 21/07/2010 08:39, Kelver Merlotti escreveu:
> Paulo, Isso não é regra.
> Já tive caso de ganho de performance reduzindo o tempo de execução de
> minutos para segundos, após trocar o inner join por um left outer
> join.
> Como o Cantu disse, só analisando o plano de execução pra definir qual
> a melhor maneira em cada caso.
> Abraços!
>
> Kelver Merlotti
> Coordenador Editorial do Portal www.ActiveDelphi.com.br
> Contato: kelver em activedelphi.com.br
> Google: kmerlotti em gmail.com
> Twitter: http://twitter.com/kmerlotti
> Tem um segundo? Então, dá uma olhadinha nisso:
> Um site de publicidades, de Portugal, está pagando em euros (quase 3x
> mais que em reais) pra quem estiver disposto a:
>   * Ler anúncios
>   * Visitar sites
>   * Clicar em banners
>   * Navegar na NET
>   * Ler e-mails
>   * Convidar novos usuários
> O pagamento pode ser feito de várias formas!
> Registra lá. Não custa nada!!! ;-)
> http://www.publipt.com/pages/index.php?refid=kmerlotti
>
>
>
> 2010/7/20 Paulo (O2 Tecnologia)<paulo em o2tecnologia.com.br>:
>    
>>
>> 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
>>>
>>>
>>>
>>>
>>>
>>>        
>> ______________________________________________
>> 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
>>
>>      
> ______________________________________________
> 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 5298 (20100721) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
>    




Mais detalhes sobre a lista de discussão lista