Atualizar estatísticas realmente diminui o desempenho?

Atualizar estatísticas realmente diminui o desempenho?

Eu tenho um sp_updatestats noturno em um banco de dados de produção, que parece funcionar bem, exceto por um processo armazenado específico que apresenta problemas de desempenho após a atualização.

A equipe de desenvolvimento está atualmente trabalhando na correção do processo (alguns novos índices e alguma reorganização da consulta que recomendei), mas atualmente a única solução alternativa é fazer um

UPDATE STATISTICS [SuperGiantTable]
WITH FULLSCAN

Então, a questão é: posso forçar o sp_ updatestats a fazer a opção "com fullscan"? Euquererpara? Caso contrário, provavelmente adicionarei o comando UPDATE STATISTICS acima para ser executado imediatamente após sp_updatestats.

SQL 2000, aliás.

Responder1

Como disse KPWINC, “Realmente depende”.

Existem vários outros itens que influenciam a resposta à sua pergunta e uma resposta geral pode não ser apropriada.

O Microsoft MSDN possui entradas para sp_updatestats (http://msdn.microsoft.com/en-us/library/aa260337(SQL.80).aspx) e "ATUALIZAR ESTATÍSTICAS" (http://msdn.microsoft.com/en-us/library/aa260645(SQL.80).aspx)

Para responder às suas últimas perguntas primeiro:

Você precisa reler a entrada SQLServerPedia. Especificamente:

A reconstrução do seu índice atualizará automaticamente as estatísticas do índice (com tamanho de amostra de 100%, o que geralmente é melhor do que o obtido ao usar sp_updatestats).Depois que a reconstrução do índice for concluída, você poderá usar sp_updatestats para atualizar as outras estatísticas que requerem atenção (2005+).

Olhando para a documentação do UPDATE STATISTICS (2000), diz o seguinte para amostragem:

Nota O comportamento padrão é executar uma varredura de amostra na tabela de destino ou na visualização indexada.O SQL Server calcula automaticamente o tamanho de amostra necessário.

Kimberly Tripp reuniu algumas entradas de blog sobre estatísticas, índices e planos de manutenção de banco de dados (http://www.sqlskills.com/BLOGS/KIMBERLY/category/Statistics.aspx). Embora as informações possam ou não ser diretamente utilizáveis ​​por você, a orientação de cada entrada do blog deve ser e os sites referenciados provavelmente serão úteis.

Responder2

Realmente depende...

Quantos bancos de dados?

Qual é o tamanho do(s) banco(s) de dados?

Quanta atividade?

sp_updatestats (por padrão) atualiza estatísticas com uma taxa de amostragem padrão. Você pode tentar usar a opção de reamostrar, mas isso só funcionará se uma atualização automática não tiver ocorrido desde a última vez que você atualizou as estatísticas (a atualização automática também usa uma taxa de amostragem padrão).

Quando você recria um índice, as estatísticas são atualizadas com uma verificação completa e a maioria das pessoas observa um bom desempenho após a recriação do índice.

Apenas em raras situações as pessoas desativam os recursos de estatísticas automáticas. Eu recomendaria deixá-lo ligado.

Tenha um trabalho que seja executado em um intervalo apropriado (que depende dos padrões de modificação de dados para cada tabela) e faça uma atualização manual das estatísticas usando varredura completa ou alguma outra taxa de amostragem alta.

Geralmente eu faria o seguinte:

Se for um banco de dados grande - backup do log de transações de hora em hora.

- Backup diferencial diário. - Desfragmentação diária. - Estatísticas de atualização diária.

- Reindexar uma vez por semana. - Backup completo uma vez por semana.

Depende muito do banco de dados e das transações.

Responder3

Mais uma coisa a ter em mente é que a taxa de amostragem calculada automaticamente pode fazer com que o histograma gerado e o vetor de densidade não considerem adequadamente qualquer distorção de dados que você possa ter, contra a qual o sproc opera.

Você sabe a diferença nos planos de consulta entre o sproc após uma atualização de estatísticas de amostra e uma atualização de estatísticas de varredura completa?

Outra coisa - tome cuidado com os planos de manutenção que reconstroem índices e depois atualizam as mesmas estatísticas que foram atualizadas como efeito colateral da reconstrução - você pode acabar comPIORestatísticas então se você tivesse deixado as estatísticas atualizadas de reconstrução em paz.

Obrigado

informação relacionada