[firebase-br] Join explicito x Implicito

Eduardo Jedliczka eduardo em gerasoftinfo.com.br
Seg Dez 6 15:50:45 -03 2004


Cada caso é um caso, no caso de tabelas master-detail nem sempre é possível
inverter a ordem dos joins, pois isto interfere no resultado!

Produto cartesiano é uma multiplicação de registros da tabela A com a tabela
B.

Se você fizer algo como

Select P.*,F.* from Produtos P, Fornecedores F

vai entender o que estou dizendo...

[s]

=====================
Eduardo Jedliczka
GeraSoft Informática
Apucarana - PR
=====================
----- Original Message ----- 
From: "Francisco Thiago Almeida" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, December 06, 2004 1:55 PM
Subject: Re: [firebase-br] Join explicito x Implicito


> Eduardo,
>
> Geralmente os joins que faço, não avalio desta forma. Eu procedo da
seguinte maneira: Trago os pais primeiro e os filhos depois algo como
>
>
> >From Tabela
>   join relacionada_com_tabela....
>   join Filha_de_relacionada....
>
> seria possivel no FB 1.5 inverter essa orderm? Eu suponho que nao (nao
tenho nada para testar por agora)....
>
> E... desculpe a ignorancia, mas o que viria ser um "produto cartesiano"?
>
> Obrigado
>
> Eduardo Jedliczka <eduardo em gerasoftinfo.com.br> wrote:
> A questão de Left Join não tem nada a ver com ser explícito ou
implícito...
>
> O Oracle também tem diferença de performance caso você monte os Left Joins
> antes dos Inner Joins.
>
> Mas reavalie suas querys, vai perceber que dependendo da ordem das tabelas
> (e naturalmente dos seus filtros) o tempo de resposta do servidor pode
mudar
> muito.
>
> Há aquela regra de ouro válida para quase todos os bancos... Primeiro as
> tabelas menores (seja na prática ou no filtro pela sua PK), depois as
> maiores e por último os Left Joins.
>
> [s]
>
> =====================
> Eduardo Jedliczka
> GeraSoft Informática
> Apucarana - PR
> =====================
> ----- Original Message ----- 
> From: "Cesar - ASSEINFO.com"
> To: "FireBase"
>
> Sent: Monday, December 06, 2004 12:38 PM
> Subject: Re: [firebase-br] Join explicito x Implicito
>
>
> > Eduardo.... em muitas experiências que nós fizemos aqui na empresa...
nós
> > pudemos observar que quando vc faz join's implícitos e utiliza left
join's
> > junto... o otimizar acaba se perdendo na escolha dos índices na montagem
> dos
> > planos.
> >
> > Notamos tb que se vc fizer uma query com join's explícitos onde tenha
left
> > join e esse left join venha antes do join... o otimizar tb se perde nas
> > escolhas dos índices no plano montado.
> >
> > Agora... se vc fizer uma query com join's explícitos e left join (nesta
> > ordem) ele monta um plano perfeito.
> >
> > Essas experiências foram feitas utilizando o FB1.03... não sei quanto ao
> FB
> > 1.5... e fizemos isso em muitas query's...
> >
> > Por isso optamos pr escrever as querys sempre com join explícito e se
> > necessário... seguido por left join.
> >
> > É isso aí....
> >
> > Sds.,
> >
> > Cezinha.
> >
> >
> >
> >
> >
> > ----- Original Message ----- 
> > From: "Eduardo Jedliczka"
> > To: "FireBase"
>
> > Sent: Monday, December 06, 2004 8:53 AM
> > Subject: Re: [firebase-br] Join explicito x Implicito
> >
> >
> > > Marcio, Join Implícito e Explícito possuem o mesmo desempenho em quase
> > todos
> > > os casos...
> > >
> > > Como o join explícito é mais claro, podemos "facilitar" o serviço do
> > > otimizador do banco, pois vez ou outra esquecemos de fazer certos
> filtros
> > > num join implícito, ou primeiro causar um produto cartesiano para
depois
> > > filtrar, que pode resultar em "mais trabalho" para o banco por isto,
> > quando
> > > há degradação de performance,a culpa não é do banco, mas nossa!!!
> > >
> > > [s]
> > >
> > > =====================
> > > Eduardo Jedliczka
> > > GeraSoft Informática
> > > Apucarana - PR
> > > =====================
> > > ----- Original Message ----- 
> > > From: "Marcio Morais"
> > > To: "FireBase"
>
> > > Sent: Monday, December 06, 2004 8:56 AM
> > > Subject: [firebase-br] Join explicito x Implicito
> > >
> > >
> > > > Olá a todos da lista:
> > > >
> > > > Uma simples duvida, ouvi dizer que um join implicito implica em uma
> > > > menor performance em relação a um explicito!
> > > > Isso procede?
> > > >
> > > > []'s
> > > > Marcio Morais
> > > >
> > > > ______________________________________________
> > > > 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
> > > >
> > >
> > >
> > > ______________________________________________
> > > 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
> > >
> >
> >
> > ______________________________________________
> > 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
> >
>
>
> ______________________________________________
> 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
>
>
> -----------------------------------------------
> Francisco Thiago de Almeida
> MRL Consultoria em Informática
> Divisão Desenvolvimento e Banco de Dados
> Franca/SP
>
> ---------------------------------
> Yahoo! Mail - Agora com 250MB de espaço gratuito. Abra uma conta agora!
> ______________________________________________
> 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
>





Mais detalhes sobre a lista de discussão lista