[firebase-br] Extrema Lentidão em Consulta Firebird 5
Luciano franca
luapfirebird em yahoo.com.br
Sexta Maio 16 17:39:17 -03 2025
Eu Fiz apenas um exemplo basico onde dois "LEFT Join" causam extrema lentidão no Firebird meu SQL completo.
Veja esse topico para entender melhor
https://github.com/FirebirdSQL/firebird/issues/8568
Em sexta-feira, 16 de maio de 2025 às 15:48:49 BRT, Rodrigo Gomes da Silva <rodrgomes em gmail.com> escreveu:
SELECT
CM.Codigo,
CM.MERCADORIA,
Sum(E.quant) As Saldo,
AVG(E2.preco_custo) As Preco
FROM CADASTRO_MERCADORIAS CM
left Join ESTOQUE E ON (E.Cod_Mercadoria = CM.codigo)
left Join ESTOQUE E2 ON ( E2.Cod_Mercadoria = CM.Codigo )
Group By 1, 2
Você quer o preço medio e a quantidade, por que esta fazendo 2 joins para o mesmo filtro? Os registros são multiplicados.
SELECT
CM.Codigo,
CM.MERCADORIA,
Sum(E.quant) As Saldo,
AVG(E.preco_custo) As Preco
FROM CADASTRO_MERCADORIAS CM
left Join ESTOQUE E ON (E.Cod_Mercadoria = CM.codigo)
Group By 1, 2
Aparentemente bastaria fazer isso.
Mais detalhes sobre a lista de discussão lista