ERP – Telas SGI – Lentidão/Travamento em telas SGI
Incidente
No Gestão Empresarial | ERP, ao executar uma rotina em tela SGI, está ocorrendo lentidão/travamento.
Causa
Esse incidente não possui uma causa específica.
Solução
Para identificar e regularizar a lentidão/travamento de uma tela SGI, realize os passos a seguir:
1. Analise o ambiente e realize o levantamento abaixo:
- A tela SGI é nova?
- Já funcionava? Parou de funcionar?
- Houve alguma mudança?
- Atualização de versão?
- Mudança de banco de dados?
- O Servidor o problema também ocorre?
- Ocorre para um usuário especifico?
- Ocorre em uma estação especifica?
- Ocorre para uma empresa e filial específico?
- Existe base de teste? Na base de teste o problema também ocorre?
2. Realize análise específica na tela SGI;
2.1. Verifique tabelas que sejam utilizadas pela tela SGI, e a quantidade de registros dentro dessas tabelas no banco de dados, caso tenha um grande número de registros o ideal é que seja verificado em um ambiente de homologação, com menos registros se o mesmo cenário ocorre;
2.2. Verificar filtros utilizados dentro da tela SGI, filtros como ">", "<", que não especifiquem um registro, podem gerar lentidões, uma vez que a quantidade de registros seja grande, desta forma recomenda-se utilizar "=";
2.3. Caso trata-se de uma tela SGI, que tenha uma tabela com autorreferência em demais tabelas, é necessário validar se separando as responsabilidades e criando novas tabelas de usuários, para que realizem a ação, ao invés de apenas autorreferência, que pode acarretar em lentidões, a depender do número de registros;
2.4. Validar ligações, campos de chave, em tabelas de formulário e em Grids, que referenciam outras tabelas, a inexistência de campos chaves, faltante em tabelas referenciadas, pode acarretar em perda de performance.
2.5. Ative a depuração de regras vinculadas a SGI, para que sejam validadas durante o processo de execução, para identificar pontos de travamento/lentidão.
2.6. Em caso da utilização da condicional "or" em filtros a mesma só é eficaz se não existem muitos valores;
2.7. Verifique se no ponto de execução do filtro que está sendo chamado da tela SGI, os registros na tabela de usuário onde este filtro é aplicado, que atendam a condicional do filtro já existem, caso não existam, existe a possibilidade da emissão de N queries no banco de dados, o que gera além de looping, lentidão e possível travamento no modelo SGI.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.