sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server Update Databas Statistics

Hej,

Databasobjektstatistik bör vara uppdaterad för att fatta rätt beslut av SQL Server Optimizer.

Om databasobjektstatistiken inte är uppdaterad kommer SQL Server-databasoptimeraren att fatta ett felaktigt beslut för genomförandeplanen för transaktionen.

Du kan uppdatera all databasstatistik med följande skript i en SQL Server-instans.

Du bör utföra följande fråga på en ledig tid i databasen, till exempel kväll eller helg.

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


  1. Får NoSuchMethodError:javax.persistence.Table.indexes() medan en JPA-fråga utförs

  2. Vad är MariaDB ColumnStore?

  3. Skickar en uppsättning värden till Oracle-proceduren för att använda i WHERE IN-satsen

  4. MySQL – Hur släpper man tabell om det finns i databasen?