Páginas filhas
  • 9305226 DAGROCUSTOS-1643 DT Lentidão no Processamento de Custos


01. DADOS GERAIS

Produto:

TOTVS Agro Multicultivo

Linha de Produto:

Linha PIMS

Segmento:

Agroindústria

Módulo:Custos Agrícola
Função:Processamentos > Processamento Custos > Processamento Custo
Ticket:9305226
Requisito/Story/Issue (informe o requisito relacionado) :

DAGROCUSTOS-1643


02. SITUAÇÃO/REQUISITO

Lentidão na execução do Processamento de Custo consumindo aproximadamente 19 horas e 30 minutos para sua execução.

03. SOLUÇÃO

Após verificação da performance, identificou-se que o problema estava concentrado no passo 29, onde são processados os Custos dos Produtos Matéria-Prima e Produções Beneficiados/Acabados. Notou-se que do tempo total de aproximadamente 19h30m tal passo estava consumindo 16h 07m do tempo total de processamento para um determinado mês.

Verificou-se que continha uma instrução SQL onde era utilizada a função de Banco de Dados LPAD. Esta função é específica para Banco de Dados Oracle. Porém, quando utilizado o Banco de Dados SQLServer existem funções (FUNCTION), que ao identificar a presença do LPAD na query, efetua a conversão para a função nativa do SQLServer (função: RIGHT). E esta conversão estava ocasionando a falta de performance no Processamento.

Sendo assim, alterou-se o código-fonte do produto para que seja verificado qual banco de dados está sendo utilizado para montar a query com as funções nativas de cada banco. Ou seja, para Oracle utiliza-se LPAD e para SQLServer utiliza-se RIGHT sem a necessidade de conversão de funções quando utilizado o banco de dados SQLServer.

Com isso, obteve-se os resultados a seguir:

Passo

Mês/Ano Processado

 Tempo anterior (hh:mm:ss)

Após alteração (hh:mm:ss)

1ª execução

2ª execução

29

Executando Processamento do Custo dos Produtos Matéria-Prima e Produções Beneficiados/Acabados

jan/20

16:07:06

00:04:00

00:02:56

04. ASSUNTOS RELACIONADOS