Histórico da Página
...
3. SOLUÇÕES ADICIONAIS PARA MELHORA DE PERFORMANCE
3.1. Uso de changeQuery
Sugestão no uso do parser ChangeQuery antes de instanciar uma área de trabalho pro script SQL. Além de realizar limpeza de espaços vazios desnecessários presentes na query, também realiza pequenas adequações para cada banco de dados buscando otimização de desempenho. Ex.: segundo documentação, remove expressões NOLOCK ou (NOLOCK) e pros antigos bancos DB2 acrescenta a expressão "FOR READ ONLY".
3.2. Ajuste da chave TAF_CFGJOB no appserver.ini
...
Solicitamos via interação no ticket #15283606 e contato com o suporte a SYS_COMPANY (antiga SM0), a tabela C1E e o appserver.ini do cliente para verificar se estão dispondo da melhor configuração de threads e jobs segundo suas empresas e filiais cadastradas, contudo ainda não obtivemos retorno para prosseguir com análise.
4. EVIDÊNCIAS DE PERFORMANCE E BASE DE DADOS
4.1. DATABASE UTILIZADO
4.2. Log Profilers
View file name BENCHMARK_LOGPROFILER.7z height 250
5. AVALIAR FUTURAMENTE IMPACTO DE REUTILIZAÇÃO DO CHANGEQUERY NO WSTAFST2
No Objeto WSTAFST2, interno à rotina TAFLastRcN, existe uma chamada a função ChangeQuery, porém, comentada.
...
Seria interessante futuramente avaliar a reutilização da função, uma vez que esta visa melhor adaptar ao script SQL informado de forma a escrever a query mais adequada de acordo com o banco utilizado pelo cliente.
...
6. ISSUE x SPIKE
6.1. Verificar qual é a rotina que originou a query enviada pelo cliente
TAFDINAMICJOB.PRW
6.2. Criar um ambiente/banco para verificar se a proposta relatada pelo cliente de fato gera um ganho de recursos/performance
Vide seção 4.
6.3. Documentar quais tabelas necessitam da criação do índice proposto
6.3.1. Tabelas mencionadas pelo SQL TUNING:
C91, T3P, T72, T1S, CUO, T3A, T1U, T1V, CM0, C8B, CM9, CMF, CMD, T92, CMJ
6.3.2. Tabelas utilizadas no TAFDINAMICJOB:
C91, T3P, T72, T1S, CUO, T3A, T1U, T1V, CM0, C8B, CM9, CMF, CMD, T92, CMJ, C8W, T62, CMR, T1M, T2A, T3V, T72, T1S, T3Z, V73, V75, V76, V77, V78
6.4. Documentar se há necessidade alteração da rotina
Depende.
Com a inclusão dos índices que contenham os campos _FILIAL, _STATUS e _ATIVO já foi suficiente pra otimizar o desempenho sem custo adicional.
Com a implementação do Hint de Index também gerou ganhou, porém ao custo de um pequeno processamento de coleta dos índices que otimizariam a query.
7. LINKS ÚTEIS
...
7.1. Documentações Protheus
TCQUERY: https://tdn.totvs.com/display/tec/Comando+TCQUERY
...
WEB SERVICE REST - INTEGRAÇÃO: Web Service REST - Integração
...
7.2. Log Profiler View
LOG PROFILER VIEW: https://arte.engpro.totvs.com.br/framework/logprofile/builds/3.0.1/win/
...
7.3. Artefatos Oracle Database
SQL DEVELOPER: https://www.oracle.com/database/sqldeveloper/technologies/download/
...