Existe uma maneira de recuperar programaticamente a definição de cada STATISTICS adicionada às colunas e índices da tabela. Para índices adicionados pelo usuário e criados pelo sistema. Existem muitas ESTATÍSTICAS como '__WA_Sys_*' que são adicionadas pelo Sql Server.
Preciso reescrever alguns deles e adicionar mais, mas há muitos para fazê-los manualmente com o Management Studio.
Entre
sys.stats
eDBCC SHOW_STATISTICS
você tem todas as informações necessárias para ver as estatísticas de suas estatísticas. Por exemplo.:Dito isto, qualquer pessoa que entenda quando as estatísticas precisam ser atualizadas já sabe como procurá-las, então eu arriscaria um palpite de que você não deveria atualizar suas estatísticas manualmente.
Em http://www.toadworld.com/platforms/sql-server/w/wiki/9680.updating-statistics.aspx (boa leitura), há uma consulta que não entendo totalmente, mas a converti neste , abaixo (SQL Server 2005). Resultado:
Obviamente, alguns deles vêm de índices. Você provavelmente pode melhorar a consulta para removê-los; você não precisa de cópias. E você pode adicionar "WITH FULLSCAN", é claro.
Estou interessado nisso porque carregamos dados corporativos em alguns bancos de dados durante a noite, para que os relatórios possam ser executados durante o dia. Se eu gerar algumas estatísticas durante a execução noturna - "WITH FULLSCAN" - os relatórios serão executados melhor porque não precisam fazer as estatísticas. Se o SQL Server criar estatísticas, não presumo que realmente precise haver um índice nas colunas, mas pensarei nisso. Na verdade, não entendo[+] por que ter apenas estatísticas quando você pode ter índices, mas presumo que haja boas razões! [+]Bem, eu entendo um pouco - caso contrário, não seria um artigo muito bom!
Robert Carnegie, gosta de índices!