Tenho a Consulta abaixo, que me retorna o extrato de uma conta corrente no sistema em um certo período, mas ela está muito lenta, chega a durar 30 segundos mesmo criando os indices em todos os campos utilizados na comparação, no SQLSERVER esta consulta demorava de 2 a 3 segundos, como faço pra otimizar isso?
select cc.conta, b.nome, cc.agencia, cc.titular as empresa, mc.data, mc.descricao, mc.natureza,(mc.valor*mc.natureza)as valor,case natureza
when-1then(mc.valor*natureza)endas saida,case natureza
when1then mc.valor
endas entrada,(select sum(valor*natureza)fromFinanceiro_Movimentacao_Conta_Correntewhere conta=mc.conta and data<mc.data)as saldoinicial,((select sum(valor*natureza)fromFinanceiro_Movimentacao_Conta_Correntewhere conta=mc.conta and data<mc.data)+(select sum(valor*natureza)fromFinanceiro_Movimentacao_Conta_Correntewhere conta=mc.conta and data=mc.data))as saldoatual
fromFinanceiro_ContaCorrente cc
inner joinFinanceiro_Movimentacao_Conta_Corrente mc on(cc.codigo=mc.conta)
inner joinBancos b on cc.banco=b.codigo
where cc.codigo=:cod and(mc.data between :dataini and:datafim) order by mc.data, mc.codigo
Pergunta
galvao_em
Tenho a Consulta abaixo, que me retorna o extrato de uma conta corrente no sistema em um certo período, mas ela está muito lenta, chega a durar 30 segundos mesmo criando os indices em todos os campos utilizados na comparação, no SQLSERVER esta consulta demorava de 2 a 3 segundos, como faço pra otimizar isso?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.