No SQL Server, as estatísticas são atualizadas automaticamente ao entrar Auto Update Statistics
( True
que é o padrão). Existe um motivo para atualizar as estatísticas manualmente e em quais circunstâncias?
No SQL Server, as estatísticas são atualizadas automaticamente ao entrar Auto Update Statistics
( True
que é o padrão). Existe um motivo para atualizar as estatísticas manualmente e em quais circunstâncias?
Claro, se seus dados estão mudando com mais frequência do que a taxa de estatísticas automáticas (ou, digamos, você está atualizando < 20% das linhas com frequência, como atualização de status ou carimbos de data/hora). Ou se sua mesa for enorme e não estiver mudando o suficiente para acionar atualizações automáticas de estatísticas. Ou se você filtrou índices ( uma vez que o limite de estatísticas automáticas ainda é baseado 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. Em seguida, a consulta que acionou a atualização não aguardará as novas estatísticas, mas poderá ser executada 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 (44 milhões de linhas, 8,5 GB) começava a atualizar as estatísticas. No entanto, desativamos esse aplicativo antes que eu pudesse realmente rastrear o que estava acontecendo.
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 as estatísticas que representam seus dados.
http://sqlblog.com/blogs/elisabeth_redei/archive/2009/03/01/lies-damned-lies-and-statistics-part-i.aspx