RES: [firebase-br] Consulta Muito, Muito Lenta

Jony jonyridel em yahoo.com.br
Sex Jul 29 17:17:10 -03 2005


Se você não precisar listar os produtos que não tiveram movimentação use o
inner join ao invés do left join.
Se precisar listar os produtos que não tiveram movimentação experimente
fazer uma procedure para ver se o desempenho fica melhor.

Espero ter ajudado,

Jony Ridel
Grupo Êxito

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Valdir Dill
Enviada em: sexta-feira, 29 de julho de 2005 15:53
Para: lista em firebase.com.br
Assunto: [firebase-br] Consulta Muito, Muito Lenta


Para gerar um relatório de estoque de produtos em determinada data,
 tenho uma query com a instrução SQl abaixo:

"
SELECT P.CODIGO, P.DESCRICAO, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO,
 P.ATUAL,
CASE ME.OPERACAO WHEN 'E' THEN SUM(ME.QUANTIDADE) END AS ENTRADAS,
CASE ME.OPERACAO WHEN 'S' THEN SUM(ME.QUANTIDADE) END AS SAIDAS

FROM PRODUTOS P
LEFT JOIN MOVIESTOQUE ME ON (ME.PRODUTO = P.CODIGO AND ME.DATA
 >:VDataPosicao)
GROUP BY
P.CODIGO, P.DESCRICAO, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO, P.ATUAL,
 ME.OPERACAO
"

Se o cadastro de produtos tiver mais que 2500 itens, chega a demorar
 mais de 5 minutos para abrir. Por que será tanta demora? Alguém teria
 alguma sugestão para fazer essa consulta de forma diferente e que fosse
 mais rápida?

Utilizo Firebird 1.5

Obrigado





-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/7/2005
 
  

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.9.7/60 - Release Date: 28/7/2005
 


	
	
		
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/





Mais detalhes sobre a lista de discussão lista