GARANTIR DESCONTO

Fórum Porque ? #40954

15/12/2003

0

Prezados colabores

Conseguir resolver o problema da lentidão no sistema. O problema era que numa procedure estava colocando o conteudo abaixo.

Update Estoque SET Estoque.Ultima_Venda = :sData,
Estoque.Ultima_Movimento = :sData
Where Estoque.Codigo_Filial = :iFilial
And Exists (Select Orcamento_Tmp.Codigo_Produto From Orcamento_Tmp
Where Usuario = :sUsuario
And Estoque.Codigo_Produto = Orcamento_Tmp.Codigo_Produto
And Tipo_Item = ´V´);

Tirei esta instrução e pronto, resolveu. Tentei esta trigger tambem:

Set Term ^;
Create Trigger Atu_Data_Movimento_Venda For Venda_Itens Before Insert As
Begin
Update Estoque SET Estoque.Ultima_Venda = New.Data,
Estoque.Ultima_Movimento = New.Data
Where Estoque.Codigo_Filial = New.Codigo_Filial
And Estoque.Codigo_Produto = New.Codigo_Produto
And New.Tipo_Venda_Troca = ´V´;
End ^
Set Term ^ ;

Mas tambem tive o mesmo problema. Isto é, o sistema comeca bem mais vai degradando a cada venda usando qualquer uma das instruções acima. Tenho um índice e retirando este indice a performance até melhora mais o probelma continua.

A minha pergunta é porque esta procedure ou trigger acima consome tanto recurso que o banco de dados fica lento e quando reinciado volta ao normal ?

Mandei esta mensagem para o forum tambem.

Grato Marcos Roberto


Marcosrodias

Marcosrodias

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar