Ao atualizar mais de 20% de linhas na tabela, você está acionando uma atualização de estatísticas .
O comportamento padrão do sql server é fazer isso de forma síncrona. Isso significa que, se um índice afetado for usado em um plano de execução, o otimizador perceberá que as estatísticas estão desatualizadas, forçará uma atualização imediatamente e recompilará o plano de execução.
Há um novo recurso no SQL Server 2005 que fará com que as estatísticas sejam atualizadas de forma assíncrona para o banco de dados, ou seja, o otimizador usará as estatísticas obsoletas, mas executará a atualização de estatísticas em segundo plano, para que a próxima consulta aproveite as novas estatísticas. O comando é AUTO_UPDATE_STATISTICS_ASYNC ON
, consulte BOL para obter mais informações.
A alternativa, como já sugerido, é forçar uma atualização manualmente na tabela após o carregamento. Você pode fazer isso com o comando UPDATE STATISTICS
. Esta é a referência para BOL .