Desenvolvimento > Utilitários > Verificações > Análise memos 

Em gestão de objeto cada utilizador pode colocar, pelo intermédio do menu Seleção / Seleção, dos filtros destinados a selecionar na lista esquerda uma parte apenas da tabela. Uma tal seleção pode em seguida ser memorizada, e reutilizada regularmente.

Esta funcionalidade interessante está todavia fonte de problemas potenciais de performances quando as tabelas assim filtradas são muito volumosas (várias centenas de milhares de linhas, por exemplo). Ela está tanto mais que memos podem estar em standard (i.é carregados desde que o utilizador entre na função), e globais (i.é partilhados por um conjunto de utilizadores).

A função de análise permite, a posteriori, detetar os problemas potenciais de performance tido em conta dos memos colocados pelos utilizadores num dossier. Atenção, ela não dá que as indicações e, pode em certos casos revelar os problemas que não são. Por exemplo, um memo para o qual nenhum índice discriminante não está encontrado para este utilitário pode completar um filtro definido por outro lado na lógica do tratamento standard.

É todavia prudente de verificar, para cada linha de rasto assim encontrada, a pertinência da mensagem de erro, em tomando as medidas corretivas. Estas medidas podem ser de dois tipos :

  • supressão do memo correspondente ou advertência ao utilizador.
  • acréscimo de um índice de otimização se este aparece adaptado.

Afim de obter este resultado, o tratamento lê todos os ficheiros memos presentes sobre o dossier, aproxima os critérios utilizados dos diferentes índices existentes sobre a tabela (compreendendo os índices de otimização), e coloca um diagnóstico em tendo em conta o número de linhas presentes na tabela.

É de notar que dois parâmetros, mencionados a seguir, permitem controlar a priori os memos criados pelos utilizadores. Mas estes memos não são controlados que na sua criação. Ou memos julgados performantes na origem podem bem não ser qualquer mês após, se a volumetria da base os torna pesados na execução. É porque é interessante de lançar este utilitário mesmo se os dois parâmetros a seguir são correctamente preenchidos.

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Ecrã de registo

Apresentação

Define-se simplesmente três valores (em número de linhas) caracterizando as tabelas sobre as quais se testam os memos.

Quando a execução da função está terminada, obtém-se um ficheiro rasto em duas partes. A primeira parte é uma lista dos problemas encontrados, ordenados na ordem alfabetica dos ficheiros de memo e numeração. O rasto apresenta as informações sob a forma seguinte :

  • uma primeira linha de cabeçahlo detalhando o nome do memo (NOM), o facto que seja local ou global, utilizador afetado (UUUUU),e a tabela sobre a qual está colocado o memo (XXXXXX). Os memos problemáticos são numerados (campo NNN), o que dá a linha seguinte (local podendo estar substituido por global) :

NNN Memo local UUUUU.NOM sobre table XXXXXX (título tabela)

  • uma ou várias linhas explicitando os problemas de performance reencontrado sobre este memo. Os quadros a seguir dá as mensagens suscetíveis de serem reencontradas :

MENSAGEM

Definição

*** WARN (MMMM) *** DESCRIPTION

Problema de performance : a tabela faz MMMM linhas.

*** PERF (MMMM) *** DESCRIPTION

Problema de performance sério : a tabela faz MMMM linhas.

*** CRIT (MMMM) *** DESCRIPTION

Problema de performance crítico : a tabela faz MMMM linhas.

 

CHAMP DESCRIPTION

Explicação

Sem índice adaptado ao filtro sobre o(s) campo(s) CHAMP1 CHAMP2 ... : Problema de performance :

Tido em conta dos filtros indicados,nenhum índice apropriado existe Se o memo é útil e frequentemente utilizado, falta considerar um índice de optimização.

A chave de ordenação da lista esquerda (CLE1) está diferente da chave de filtragem (CLE2)

A base de dados se serve de um primeiro índice (CLE2) para filtrar os dados, depois os trie segundo o índice CLE1 afim de apresentar a lista esquerda. Isto pode ser um problema de performance se o índice servindo ao filtro é pouco selectivo (um grande número de linhas devendo estar triadas)

Operador "Diferente" sobre campo CHAMP1

Operador "Como" sobre campo CHAMP1

Estes dois operadores não permitem à base de dados de utilizar de maneira simples os índices sobre os limites de valor ; as performances podem então ser más.

Operador "ou" entre duas condições

A selecção implica uma ou várias condições separadas por "ou". Este tipo de pedido está em geral muito pesado

Seleção sobre expressão : expressão :

Este tipo de seleção não está analizado e deve então ser verificado para saber se um problema potencial de performance existe.

Várias tabelas no memo, verificar o pedido

Faz-se as seleções sobre as junções. Este tipo de pedido não pode ser verificado automaticamente pelo utilitário : uma verificação manual se impõe para saber se um problema de performance pode existir.

A segunda parte do rasto sá uma lista hierarquizada dos problemas precedentes (uma linha por problema) Encontra-se todavia o número de porblema precedente, o nome do memo sob a forma UUUUUU.NOM/TABLE, o número de linhas da tabela, e um resumo sucinto de critérios de filtro. A ordem de ordenação é a seguinte :

  • os memos standards são classiifcados então, depois os memos não standards
  • os memos globais são classiifcados então, depois os memos locais
  • na igualdade sobre este dois primerios critérios, ordena-se o número decrescente de linhas na tabela.

Isto permite de se focalizar então sobre os memos susceptíveis de provicar o mais os problemas de performance.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Opções de teste

  • Dimensão crítica (campo NBLIGBIG)

Este tamanho (em número de linhas na tabela) define o limite acima do qual um problema de índice num memo está considerado como crítico do ponto de vista das performances.

  • Dimensão performance (campo NBLIGTB)

Este tamanho (em número de linhas na tabela) define o limite acima do qual um problema de índice num memo está considerado como crítico do ponto de vista das performances.

  • Dimensão advertência (campo NBLIGWARN)

Este tamanho (em número de linhas na tabela) define o limite acima do qual um problema de índice num memo está considerado como podendo colocar os problemas de performances. A partir deste limite, uma mensagem de advertência será afixada (se não se ultrapassa os limites seguintes).

Fechar

 

Tarefa batch

Esta função pode ser lançada em batch, mas não existe tarefa standard dedicada ao lançamento.

Mensagens de erro

Não existe outra mensagem de erro, para além das mensagens genéricas.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação