RES: [firebase-br] Consulta Muito, Muito Lenta
Hideo - SJB
hideo em sjb.com.br
Sex Jul 29 16:52:31 -03 2005
Olá Valdir, tudo bem?
Estou começando a migrar para a plataforma 1.5 do Firebird e das minhas
experiências até aqui com relacionamento entre tabelas até aqui, eu não
aconselho vc a trabalhar com LEFT OUTER, pois até onde sei, o FB não
procurava o melhor PLAN para a consulta. Caso vc não tenha necessidade de
trazer na consulta, os produtos que não tenham movimentação, utilize o INNER
JOIN ao invés de LEFT OUTER e ver qual é o resultado. Procure limitar tb. o
período de movimentação para que a consulta não traga todas as
movimentações.
Espero ter ajudado.
[]'s
Marcos
-----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
Mais detalhes sobre a lista de discussão lista