Ciao,
Le statistiche degli oggetti del database devono essere aggiornate per prendere la decisione giusta sull'ottimizzatore di SQL Server.
Se le statistiche degli oggetti del database non sono aggiornate, l'ottimizzatore del database di SQL Server prenderà una decisione sbagliata per l'esecuzione del piano di transazione.
Puoi aggiornare tutte le statistiche del database con il seguente script in un'istanza di SQL Server.
Dovresti eseguire la seguente query nel tempo libero del database, ad esempio la sera o nei fine settimana.
DECLARE @SQL VARCHAR(1000) DECLARE @DB sysname DECLARE curDB CURSOR FORWARD_ONLY STATIC FOR SELECT [name] FROM master..sysdatabases WHERE [name] NOT IN ('model', 'tempdb') ORDER BY [name] OPEN curDB FETCH NEXT FROM curDB INTO @DB WHILE @@FETCH_STATUS = 0 BEGIN SELECT @SQL = 'USE [' + @DB +']' + CHAR(13) + 'EXEC sp_updatestats' + CHAR(13) PRINT @SQL FETCH NEXT FROM curDB INTO @DB END CLOSE curDB DEALLOCATE curDB