Dela via


Uppdatera statistik

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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_updatestatskräver medlemskap i sysadmin fast serverroll eller ägarskap för databasen (dbo).

Använda SQL Server Management Studio

Uppdatera ett statistikobjekt

  1. I Object Explorerväljer du plustecknet för att expandera databasen där du vill uppdatera statistiken.

  2. Välj plustecknet för att expandera mappen Tables.

  3. Välj plustecknet för att expandera tabellen där du vill uppdatera statistiken.

  4. Välj plustecknet för att expandera mappen Statistics.

  5. Högerklicka på det statistikobjekt som du vill uppdatera och välj Egenskaper.

  6. 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

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. 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.