Desenvolvimento > Utilitários > Verificações > Estatísticas > Estatísticas SQL Server 

Esta função permite de visualizar as estatísticas geradas sobre a base de dados quando a base de dados utilizada é SQL Server™.

Ela permite também de atualizar as estatísticas.

Observação importante :

Atenção, este tipo de funçãofacilita, via uma interface utilizador homogéneo com o software, o lançamento de procedimentos de exploração devolvidos a um administrador de base de dados. Ela está feita para ser lançada para um tal administrador (habitualmente chamada DBA).

Para ser utilizado com proveito, ela supõe então um conhecimento prévio do funcionamento das bases de dados e da sua optimização.

Pelo contrário, uma atualização inapropriada da função pode colocar sérios problemas de performances e colocar em perigo a segurança de exploração do software.

Pré-requisitos

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

Gestão do ecrã

Esta função permite de visualizar e de gerar as estatísticas sobre a base de dados.
Estes elementos são apresentados sobre dois separadores: O primeiro dá a lista dos indices e as listas das estatísticas para cada um, o segundo dá a lista dos parâmetros de base de dados ligados à geração das estatísticas.

Cabeçalho

Apresentação

Permite conhecer as características da base de dados utilizada.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

  • Base de dados (campo BDDNAM)

Nom de la base de données.

  • Versão (campo VER)

Numéro de version de la base de données.

  • campo VERDES

Description de la version de la base de données.

Fechar

 

Separador Índice

Apresentação

Este separador apresenta a lista dos índices e o estado das estatísticas para cada uma delas.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro

  • A tratar (campo PROFLG)

Permite de definir se a linha deve ser tratada em geração de estatísticas, para os botões de baixo de ecrã correspondentes.

  • Tabela (campo TAB)

Nome da tabela na base de dados

  • Index (campo INDEX)

Nome do indice na base de dados

  • Nr. de linhas (campo NBRLIN)

Número de linhas da tabela correspondente ao índice (conta)

  • Estatísticas automáticas (campo STTAUT)

Indica se as estatísticas são geradas automaticamente para o índice.

Corresponde ao parâmetro base de dados UPDATE STATISTICS automático para o índice.

  • Estatísticas geradas (campo STTFLG)

Indica se as estatísticas válidas são geradas em base de dados.

  • Data última análise (campo STTDAT)

Data da última análise das estatísticas

  • campo STTHOU

Hora da última análise das estatísticas

Fechar

 

É possível de gerar as estatísticas :

    • para um indice por clique direito,
    • para todos os indices ou uma parte dos indices em selecionando as linhas pretendidas antes de desencadear a ação pelos botões de rodapé de ecrã.

Funções acessíveis por clique direito no quadro

Sim a todo o resto

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Sim a todas as linhas a partir da linha corrente.

Não resta nada

Quando tem um quadro de registo de escolhas múltiplas com uma escolha de resposta Sim / Não sobre cada linha, esta função permite de responder Não a todas as linhas a partir da linha corrente.

Actualizar a linha

Permite de refrescar a afixação da linha corrente do quadro

Gerar para a linha

Permite de gerar as estatísticas para a linha corrente do quadro.

 

Fechar

 

Separador Base

Apresentação

Este separador apresenta a lista dos parâmetros de base ligados à geração automática das estatísticas.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Parâmetros das estatísticas

  • Parâmetro (campo PAR)

Afixa as opções posicionados sobre a base de dados para a geração automática das estatísticas.

As opções são as seguintes :

Opção :

Descrição

auto create statistics

Se verdadeiro, as estatísticas em falta, requeridas por um pedido para otimização, são criadas automaticamente durante a otimização.

auto update statistics

Se verdadeiro, as estatísticas não são atualizadas, requeridas por um pedido para otimização, são criados automaticamente durante a otimização.

  • Valor (campo PARVAL)

 

Fechar

 

Não é possível de agir aqui sobre estes valores.

Botões específicos

Este botão, igualmente acessível pelo atalho, permite refrescar a afixação dos separadores.

Permite de gerar as estatísticas para todas as linhas seleccionadas nos quadros do separador Índice.

Explicações sobre as estatísticas SQL Server

Quando as estatísticas devem ser atualizadas ?

SQL Server conserva as estatísticas de distrbuição dos valores da chave de cada índice, e utiliza as estatísticas para determinar os índices a utilizar no tratamento dos pedidos.

Então pode-se ser útil de actualizar as estatísticas se

    • de importantes modificações são trazidas aos valores de chave de índice,
    • uma grande parte dos dados de uma coluna indexada foi acrescentada, modificada ou suprimida (dito de outro modo, se pensa que a distribuição dos valores de chave se alterou)
      .

Porquê ?

Microsoft® SQL Server™ permite de criar as informações estatísticas ao sujeito da distribuição dos valores numa coluna que deve ser criada. Estas estatísticas podem ser exploradas pelo processador de pedidos afim de determinar a estratégia optimal de avaliação de um pedido. Quando se cria um índice, SQL Server guarda automaticamente as informações estatísticas relativas à distribuição dos valores na ou nas colunas indexadas. O optimizador de pedidos de SQL Server utiliza estas estatísticas para estimar o custo de utilização de indice para um pedido. De outra parte, se a opção de base de dados AUTO_CREATE_STATISTICS está activada (ON), o que é o caso por defeito, SQL Server cria automaticamente as estatísticas para as colunas sem índice utilizadas num predicado.

Se os dados de uma coluna mudam, as estatísticas de indice e de coluna arriscam de se tornar obsoletos e então de conduzir ao optimizador de pedidos a tomar as decisões pouco judiciosos sobre a maneira de tratar um pedido. Por exemplo, se cria uma tabela com uma coluna indexada e 1000 linhas de dados, todos comportando valores únicos na coluna indexada, o optimizador de pedidos considera que a coluna indexada constitui uma "boa" solução para recolher os dados para um pedido. Se se atualizam os dados de uma coluna em criando numerosos valores duplicados, a coluna não é mais um candidato ideal à utilização num pedido. No entanto, o optimizador de pedidos a considera sempre como um candidato apropriado após as estatísticas de distribuição obsoletas de índice, que são baseados sobre os dados antes da utilização.

Desde então, SQL Server coloca automaticamente as informações estatísticas de maneira regular, na medida que os dados das tabelas são modificados. A amostragem efetua-se de maneira aleatória por entre as páginas de dados e provêm da tabela ou do mais pequeno indexado não ordenado em clusters sobre as colunas necessárias às estatísticas. Após a leitura de uma página de dados a partir do disco, todas as linhas da página são utilizadas para atualizar as informações estatísticas. A frequência de atualização destes últimos é função do volume de dados presentes na coluna ou indice e a quantidade de dados variáveis.

SQL Server garante sempre a amostragem de um número mínimo de linhas. As tabelas de tamanho inferior a 8 Mb fazem sempre objecto de uma análise completa no objectivo de elaborar as estatísticas.

O custo desta atualização automática das estatísticas é minimizada em razão da amostragem dos dados; estes aqui não são todos analisados.

Informações técnicas

Todas as informações sobre as tabelas, índice e estatísticas são lidas diretamente na base de dados a partir das tabelas e vistas SQL Server :

    • sysusers
    • sysobjects
    • sysindexes

As datas de estatísticas são obtidas com ajuda da função STATS_DATE

As informações sobre a geração automatica das estatísticas sobre os indices são obtidos com ajuda do procedimento sp_autostats

As informações sobre a geração automatica das estatísticas sobre a base de dados são obtidos com ajuda do procedimento sp_dboption

As estatísticas são atualizadas com a instrução UPDATE STATISTICS

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