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