No SQL Server, as estatísticas são atualizadas automaticamente quando Auto Update Statistics
em True
(que é o padrão). Existe um motivo para atualizar as estatísticas manualmente e em que circunstâncias?
19
No SQL Server, as estatísticas são atualizadas automaticamente quando Auto Update Statistics
em True
(que é o padrão). Existe um motivo para atualizar as estatísticas manualmente e em que circunstâncias?
Claro, se seus dados estão mudando com mais frequência do que a taxa de estatísticas automáticas (ou, por exemplo, você está atualizando <20% das linhas com frequência, como status de atualização ou carimbos de data / hora). Ou se sua mesa for grande e não estiver mudando o suficiente para acionar atualizações automáticas de estatísticas. Ou se você tiver filtrado índices ( já que o limite de estatísticas automáticas ainda se baseia na% de alteração em toda a tabela, não na% de alteração do subconjunto de linhas no índice filtrado ).
Mais algumas razões (superficiais):
As estatísticas de atualização automática bloquearão a consulta que acionou a atualização até que as novas estatísticas estejam prontas.
... A menos que você também ative as estatísticas de atualização automática de forma assíncrona. A consulta que acionou a atualização não aguardará as novas estatísticas, mas será executada potencialmente com as estatísticas antigas e incorretas.
Também encontrei alguns problemas estranhos de bloqueio quando um banco de dados com algumas tabelas relativamente grandes (linhas de 44 milhões, 8,5 GB) começava a atualizar as estatísticas. No entanto, desativamos o aplicativo antes que eu pudesse rastrear o que estava acontecendo.
fonte
Sim, lembre-se de que as estatísticas automáticas são sempre geradas com uma taxa de amostragem padrão. Essa taxa de amostragem padrão pode não produzir com precisão estatísticas que representam seus dados.
http://sqlblog.com/blogs/elisabeth_redei/archive/2009/03/01/lies-damned-lies-and-statistics-part-i.aspx
fonte