Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Saga_fuel

na otimização de select

Recommended Posts

Galera tenho o seguinte select

 

select 
 *
from 
PEDIDO  JOIN FATURAMENTO ON FATURAMENTO.CODPROG = PEDIDO.CODPROG
			  JOIN CLIENTE	  ON CLIENTE.CODCLI	   = PEDIDO.CODCLI AND
													CLIENTE.SEQCLI	   = PEDIDO.SEQCLI

ESSE SELECT ESTÁ LENTO ABSURDO, POREM QUANDO EU COLOCO "LEFT" JOIN COM O CLIENTE, O SELECT FICA INSTANTANEO?

 

ALGUEM IMAGINA O PORQUE O LEFT JOIN DEIXA RAPIDO

??

 

ABRAÇÃO GALERA!

Compartilhar este post


Link para o post
Compartilhar em outros sites

OLA PARCEIRO...

É O SEGUINTE:

 

FAÇA ESSA QUERY USANDO O INNER JOIN..

 

 

select

*

from

PEDIDO INNER JOIN FATURAMENTO ON FATURAMENTO.CODPROG = PEDIDO.CODPROG

INNER JOIN CLIENTE ON CLIENTE.CODCLI = PEDIDO.CODCLI AND

CLIENTE.SEQCLI = PEDIDO.SEQCLI

 

 

veja se melhora a performance..

 

Obs.:

LEFT JOIN traz os resultados da tabela a esquerda, independente da tabela a direita não trazer nenhum resultado

 

Qualquer coisa me retorne..

 

Abraço.

 

 

Webroger

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas,

 

sugiro que você tire um plano de execução dessa sua consulta e poste aqui pra gente analisar. Dependendo de qual ferramenta você estiver utilizando existem formas diferentes de obtê-la. Se você estiver com o Oracle SQL Developer, se eu não me engano, o botão é o F6. Se for o PL/SQL Developer é F5.

 

Se for possível poste os planos da consulta com o JOIN e com o LEFT JOIN. Dessa forma a gente vai poder te dizer o motivo da lentidão.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.