Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02. SITUAÇÃO/REQUISITO

Situação 1: Query com Order By

De acordo com o levantamento realizado, temos mapeadas algumas queries com o uso da clausula ORDER BY, na qual precisa analisar se está ocorrendo déficit de performance.

Image Added


Situação 2: Query com Select *

No fonte tem um ponto na qual executa um comando de query com o uso do " SELECT * " , onde pode ocasionar perda de performance.

Image Added

Essa query é executado sempre que alguma de tabela de complemento é acionada.


Situação 3: Débito Sonarqube com relação ao Acesso direto ao SX3

Ao executar o Sonarqube foi identificado que a tabela SX3 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX3:

Image Added

Situação 4: Débito Sonarqube com relação ao Acesso direto ao SX5.

Ao executar o Sonarqube foi identificado que a tabela SX5 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX5:

Image Added


Situação 5: Débito Sonarqube com relação ao Acesso direto ao SX6.

Ao executar o Sonarqube foi identificado que a tabela SX6 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX6:

Image Added

03. SOLUÇÃO

Situação 1 - Order BY

Foi analisado no plano de execução do SQL a questão do uso da clausula "ORDER BY" nas queries mapeadas e não foi necessário a retirada da clausula, pois as queries estavam sendo ordenadas por um índice já existente na tabela.

Situação 2 - Select *

Foi criado um laço FOR para ler os campos existentes no dicionário SX3 de acordo com o conteúdo passado no parâmetro cTabela. Após o mapeamento dos campos, o conteúdo foi armazenado em uma variavél cSelect para no fim ser aproveitada na montagem da query.

Image Added

Situação 3 - Acesso direto ao dicionário SX3

A solução foi substituir o acesso direto utilizando as funções do framework FWSX3Util() e GetSx3Cache() em conjunto.

Situação 4 - Acesso direto ao dicionário SX5

A solução foi substituir o acesso direto utilizando as funções do framework FWGetSx5().

Situação 5 - Acesso direto ao dicionário SX6

Nesse caso não houve solução pois não foi encontrada uma função eficiente para tratar a questão.Solução 1: 

04. DEMAIS INFORMAÇÕES

Não há.

...