Uppdatera statistik
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Du kan uppdatera statistik för frågeoptimering i en tabell eller indexerad vy i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Som standard uppdaterar frågeoptimeraren redan statistik efter behov för att förbättra frågeplanen. I vissa fall kan du förbättra frågeprestanda med hjälp av UPDATE STATISTICS
eller den lagrade proceduren sp_updatestats
för att uppdatera statistik oftare än standarduppdateringarna.
Genom att uppdatera statistik ser du till att frågor kompileras med up-to-date-statistik. Uppdatering av statistik gör dock att frågor kompileras om. Vi rekommenderar att du inte uppdaterar statistiken för ofta eftersom det finns en prestandaavvägning mellan att förbättra frågeplaner och den tid det tar att kompilera om frågor. De specifika kompromisserna beror på ditt program.
UPDATE STATISTICS
kan använda tempdb
för att sortera radexemplet för att skapa statistik.
Behörigheter
Om du använder UPDATE STATISTICS
eller gör ändringar via SQL Server Management Studio kräver alter-behörighet i tabellen eller vyn. Om du använder sp_updatestats
kräver medlemskap i sysadmin fast serverroll eller ägarskap för databasen (dbo).
Använda SQL Server Management Studio
Uppdatera ett statistikobjekt
I Object Explorerväljer du plustecknet för att expandera databasen där du vill uppdatera statistiken.
Välj plustecknet för att expandera mappen Tables.
Välj plustecknet för att expandera tabellen där du vill uppdatera statistiken.
Välj plustecknet för att expandera mappen Statistics.
Högerklicka på det statistikobjekt som du vill uppdatera och välj Egenskaper.
I dialogrutan egenskaper för statistik –statistics_name markerar du kryssrutan Uppdatera statistik för dessa kolumner och väljer sedan OK.
Använd Transact-SQL
Uppdatera ett specifikt statistikobjekt
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
USE AdventureWorks2022; GO -- The following example updates the statistics for the AK_SalesOrderDetail_rowguid index of the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid; GO
Uppdatera all statistik i en tabell
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
USE AdventureWorks2022; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
Mer information finns i UPDATE STATISTICS.
Uppdatera all statistik i en databas
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
USE AdventureWorks2022; GO -- The following example updates the statistics for all tables in the database. EXEC sp_updatestats;
Automatisk index- och statistikhantering
Använd lösningar som Adaptive Index Defrag för att automatiskt hantera indexdefragmentering och statistikuppdateringar för en eller flera databaser. Den här proceduren väljer automatiskt om du vill återskapa eller omorganisera ett index enligt dess fragmenteringsnivå, bland andra parametrar, och uppdatera statistik med ett linjärt tröskelvärde.