Bom, quem já leu o write paper Microsoft SQL Server 2000 Index Defragmentation Best Practices sabe que ao executar uma operação de reindexação, seja usando o DBCC DBREINDEX ou ainda o ALTER INDEX… REBUILD (SQL Server 2005), a execução de um outro processo de atualização de estatísticas (UPDATE STATISTICS ou sp_updatestats) é completamente desnecessário. Isso porque quando você executa uma reindexação o próprio processo de reindexação já executa uma atualização de estatísticas semelhante a um UPDATE STATISTICS FULL SCAN.
Isso significa que se você executar uma nova atualização do tipo FULL SCAN, estará consumindo recurso de máquina sem a menor necessidade, ou pior ainda se executar uma nova atualização usando a procedure sp_updatestats, isso porque, esta última executa a atualização baseado em um “sample” (um percentual dos dados da tabela) e certamente você estará matando todo o trabalho de atualização que o DBREINDEX fez para você. Isto será mais crítico se a instância for um SQL Server 2000 ou um SQL Server 2005 com a base de dados com o nível de compatibilidade abaixo de 90, onde o sp_spdatestats faz a atualização de todas as tabelas e não apenas das tabelas que realmente precisam ser atualizadas.
Neste final de semana encontrei no blog do pai do DBCC INDEXDEFRAG (Paul Randal) um post bem interessante onde ele confirma a desnecessariedade da atualização após a execução de um DBCC DBREINDEX ou ALTER INDEX…REBUILD e descreve alguns possos a serem seguidos para um bom plano de atualização de estatísticas quando você não executa o DBREINDEX, mas sim um DBCC INDEXDEFRAG ou ALTER INDEX…REORGANIZE. Este última sim requer uma atualização de estatísticas, se possível uma atualização do tipo FULL SCAN.
(Rebuilding Indexes and Updating Statistics)
http://sqlskills.com/BLOGS/PAUL/post/Search-Engine-QA-10-Rebuilding-Indexes-and-Updating-Statistics.aspx
Obs: Não deixe de ler os comentários do post onde um dos leitores desenvolveu uma procedure para execução de reindexação/atualização de estatísticas baseando-se nos passos descritos por Paul Randal.
Para aqueles que quiserem ler mais a respeito do DBREINDEX ou INDEXDEFRAG, um ótimo post em Português pode ser encontrado no blog do @LUTI em http://blogs.msdn.com/luti/archive/2007/11/06/indexdefrag-vs-dbreindex.aspx
Um abraço
Nilton Pinheiro

