Re: [firebase-br] É vantagem usar o Left Join neste casos ?

genesiohotmail genesiohotmail em hotmail.com
Qui Nov 9 10:43:05 -03 2006


 Utilizo no meu sistema sempre o LEFT JOIN, mas cuidado
 com as chaves ou indices, eh sempre bom dar uma olhada
 para ver se o otimizador esta utilizando eles de modo correto,
 se nao estiver e provavel que tenha esquecido de especificar
 uma chave ou indice ao escrever o sql.

----- Original Message ----- 
From: "Fernando Lopes" <fernandolopesrn em gmail.com>
To: "Lista_FireBird" <lista em firebase.com.br>
Sent: Thursday, November 09, 2006 10:00 AM
Subject: [firebase-br] É vantagem usar o Left Join neste casos ?


Bom dia Lista, tenho uma dúvida
   Suponha que eu existam 03 Tabelas descritas da seguinte forma
TABELA_01 (
   ID_01 INTEGER,
   ID_02 INTEGER,
   ID_03 INTEGER,
   DESCRICAO_01 VARCHAR(10));
TABELA_02 (
   ID_02 INTEGER,
   DESCRICAO_02 VARCHAR(10));
TABELA_03 (
   ID_03 INTEGER,
   DESCRICAO_03 VARCHAR(10));

  Qual dos select abaixo é mais interessante em relação a perfomance, para o
fireBird , suponhamos que existam foreing Keys que garatam a preseça que
valores válidos (que existam nas respectivas tabelas) para ID_02 e ID_03 na
TABELA_01

SELECT T1.*, T2.DESCRICAO_02, T3.DESCRICAO_03
FROM TABELA_01 T1
LEFT JOIN TABELA_02 T2 ON T1.ID_02 = T2.ID_02,
LEFT JOIN TABELA_03 T3 ON T1.ID_03 = T3.ID_03
WHERE T1.DESCRICAO_01 LIKE 'Teste%'

ou o tradicional

SELECT T1.*, T2.DESCRICAO_02, T3.DESCRICAO_03
FROM TABELA_01 T1, TABELA_02 T2, TABELA_03 T3
WHERE T1.ID_02 = T2.ID_02
  AND T1.ID_03 = T3.ID_03
  AND T1.DESCRICAO_01 LIKE 'Teste%'


Desde já agradeço a colaboração

Fernando Lopes
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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