[firebase-br] Ordem dos INNER e LEFT - Desempenho.
Kurt Schneider
kjundia em gmail.com
Ter Ago 3 14:38:34 -03 2010
Olá
Acredito que sua lógica esteja equivocada Nivaldo, me corrija por favor.
Vamos colocar as coisas em Exemplo [TB_C = Cliente | TB_P = Pedidos],
com Integridade Referencial
TB_C TB_P
------------
-------------------------
PK CODCLI PK CODPED
+------------------------------------------ FK CODCLI
DADOS DADOS
------------------ ------------------
CODCLI CODPED CODCLI
1 1 1
2 2 2
3 3 3
4 4 4
5 5 4
6 4
7 4
8 4
9 4
10 4
Consulta com INNER retorna 10 Registros para os dois Select Abaixo
SELECT TB_C.CODCLIE, TB_P.CODPED FROM TB_P INNER JOIN TB_C ON TB_C.CODCLIE =
TB_P.CODCLI;
SELECT TB_C.CODCLIE, TB_P.CODPED FROM TB_C INNER JOIN TB_P ON TB_P.CODCLI =
TB_C.CODCLIE;
Consulta com LEFT na TB_P retorna 10 Registros
SELECT TB_C.CODCLIE, TB_P.CODPED FROM TB_P LEFT JOIN TB_C ON TB_C.CODCLIE =
TB_P.CODCLI;
Consulta com LEFT na TB_C retorna 11 Registro (Cliente 5 - Null)
SELECT TB_C.CODCLIE, TB_P.CODPED FROM TB_C LEFT JOIN TB_P ON TB_P.CODCLI =
TB_C.CODCLIE;
Se pensar no meu primeiro exemplo, me intriga o fato de eu não ter mudado a
ordem das tabelas no LEFT, e sim
a posição dele em relação ao INNER / LEFT para LEFT / INNER. Na construção
de um PLAN, os INNER
pela natureza que representam, nao deveria responder de forma mais eficaz em
um SQL?
Pela lógica, cfme Carlos e da qual sigo o mesmo pensamento, os INNER
deveriam vir primeiro. É possível que
isso seja um comportamento erroneo do FB 1.5, visto que fiz testes com o
FB2.1 tanto INNER como LEFT primeiro
não tem diferença visível no desempenho?
Atenciosamente
--
PS: Troquei meu Número de Celular - 49 9148 4809
************************************************************************************
Kurt Schneider - [ Gerente de Projetos ]
ControlSoft - Assessoria e Desenvolvimento de Sistemas
Fones.: Chapecó/SC 49 3329 1878
Sorriso/MT 66 3544 4364
Celular 49 9148 4809 SC
66 9903 4958 MT
E-mail: kjundia em gmail.com / kurt em controlsoft.com.br
msn...: kjundia em hotmail.com / skype.: kjundia
"Quis custodiet ipsos custodes?" - Satirás - De Juvenal
Mais detalhes sobre a lista de discussão lista