Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta Lenta


galvao_em

Pergunta

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 -1 then (mc.valor*natureza) 
	end as saida,
    case natureza 
		when 1 then mc.valor 
	end as entrada,
(select sum(valor*natureza) from Financeiro_Movimentacao_Conta_Corrente where conta=mc.conta and data<mc.data) as saldoinicial,
((select sum(valor*natureza) from Financeiro_Movimentacao_Conta_Corrente where conta=mc.conta and data<mc.data)+(select sum(valor*natureza) from Financeiro_Movimentacao_Conta_Corrente where conta=mc.conta and data=mc.data))as saldoatual 
from Financeiro_ContaCorrente cc 
	inner join Financeiro_Movimentacao_Conta_Corrente mc on(cc.codigo=mc.conta) 
	inner join Bancos b on cc.banco=b.codigo 
where cc.codigo=:cod and (mc.data between :dataini and :datafim) order by mc.data, mc.codigo

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde,

isso acontece com um banco recém criado? ou com um que já tem algum tempo de uso?

de qualquer forma você pode fazer uma manutenção no banco.

  1. Execute o VACUUM com todas as opções.
  2. Reindex com o banco.

Douglas Carlos da Silva Oliveira
Analista de TI, QA, DBA
@douglas_carlos_

Link para o comentário
Compartilhar em outros sites

  • 0
Em 28/02/2019 em 15:20, douglascso disse:

Boa tarde,

isso acontece com um banco recém criado? ou com um que já tem algum tempo de uso?

de qualquer forma você pode fazer uma manutenção no banco.

  1. Execute o VACUUM com todas as opções.
  2. Reindex com o banco.

Douglas Carlos da Silva Oliveira
Analista de TI, QA, DBA
@douglas_carlos_

Obrigado, esta consulta refiz de outra forma, mas uma outra que tinha que demorava quase 20 segundos fazendo o que falou baixou para menos de 4 segundos.

To começando com postgres to apanhando bastante.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...