Versão curta
Depois de habilitar AUTO_CREATE_STATISTICS
& AUTO_UPDATE_STATISTICS_ASYNC
em um banco de dados, qual métrica de desempenho exibirá melhor as alterações?
Versão longa
Acabamos de perceber que o banco de dados de um sistema legado nunca teve o AUTO_CREATE_STATISTICS
& AUTO_UPDATE_STATISTICS_ASYNC
ativado ( AUTO_UPDATE_STATISTICS
foi ativado).
Como seria de esperar, depois de ativá-los, nossos aplicativos tiveram um desempenho muito melhor. Os tempos de resposta são significativamente melhores e os usuários não esperam que a tela seja atualizada ou as páginas sejam carregadas.
O banco de dados está bem indexado e já havíamos criado estatísticas manualmente onde achamos que eram necessárias. Imediatamente após a ativação, verifiquei sys.stats
(juntei-me ao sys.stats_columns
& sys.objects
) e só precisava criar estatísticas em três objetos. (Eu tenho isso registrado caso a quantificação dessas mudanças esteja com eles.)
Capturo muitos dados de desempenho neste servidor e examinei esses dados antes e depois da alteração, mas ainda não identifiquei onde estão os ganhos reais.
Eu tenho outros sistemas semelhantes em que as estatísticas automáticas ainda estão desativadas para esse banco de dados. Esses sistemas também se beneficiariam de habilitá-los, mas estou aguardando caso haja alguma métrica que ainda não tenha, posso adicioná-la antes de fazer as alterações.
Minha verdadeira pergunta
Além da experiência do usuário, como quantifico os aumentos feitos alterando as configurações de Auto-Stats em um sistema?
SQL Server 2008R2 no Windows Server 2008.