StatistikaktualisierungUpdate Statistics

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Sie können Abfrageoptimierungsstatistiken für eine Tabelle oder indizierte Sicht in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mit SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLaktualisieren.You can update query optimization statistics on a table or indexed view in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Standardmäßig nimmt der Abfrageoptimierer erforderliche Updates der Statistiken automatisch vor, um den Abfrageplan zu verbessern. In einigen Fällen können Sie die Abfrageleistung mit UPDATE STATISTICS oder der gespeicherten Prozedur sp_updatestats verbessern, um Statistiken häufiger zu aktualisieren, als von der Standardeinstellung vorgegeben.By default, the query optimizer already updates statistics as necessary to improve the query plan; in some cases you can improve query performance by using UPDATE STATISTICS or the stored procedure sp_updatestats to update statistics more frequently than the default updates.

Durch das Update von Statistiken wird sichergestellt, dass Abfragen anhand aktueller Statistiken kompiliert werden.Updating statistics ensures that queries compile with up-to-date statistics. Dies führt jedoch dazu, dass Abfragen neu kompiliert werden.However, updating statistics causes queries to recompile. Es empfiehlt sich, Statistiken nicht zu oft zu aktualisieren und die Vorteile optimierter Abfragepläne gegen den Zeitaufwand für die Neukompilierung von Abfragen abzuwägen.We recommend not updating statistics too frequently because there is a performance tradeoff between improving query plans and the time it takes to recompile queries. Die Entscheidung hängt von der verwendeten Anwendung ab.The specific tradeoffs depend on your application. UPDATE STATISTICS-Vorgänge können mithilfe von tempdb die Stichprobenzeilen zum Erstellen von Statistiken sortieren.UPDATE STATISTICS can use tempdb to sort the sample of rows for building statistics.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

SicherheitSecurity

BerechtigungenPermissions

Bei der Verwendung von UPDATE STATISTICS oder beim Vornehmen von Änderungen mit SQL Server Management StudioSQL Server Management Studioist für die Tabelle oder Sicht die ALTER-Berechtigung erforderlich.If using UPDATE STATISTICS or making changes through SQL Server Management StudioSQL Server Management Studio, requires ALTER permission on the table or view. Wenn Sie sp_updatestatsverwenden, ist die Mitgliedschaft in der festen Serverrolle sysadmin oder der Besitz der Datenbank (dbo) erforderlich.If using sp_updatestats, requires membership in the sysadmin fixed server role, or ownership of the database (dbo).

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So aktualisieren Sie ein StatistikobjektTo update a statistics object

  1. Klicken Sie im Objekt-Explorerauf das Pluszeichen, um die Datenbank zu erweitern, in der Sie die Statistik aktualisieren möchten.In Object Explorer, click the plus sign to expand the database in which you want to update the statistic.

  2. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.Click the plus sign to expand the Tables folder.

  3. Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, in der Sie die Statistik aktualisieren möchten.Click the plus sign to expand the table in which you want to update the statistic.

  4. Klicken Sie auf das Pluszeichen, um den Ordner Statistik zu erweitern.Click the plus sign to expand the Statistics folder.

  5. Klicken Sie mit der rechten Maustaste auf das Statistikobjekt, das Sie aktualisieren möchten, und wählen Sie Eigenschaften.Right-click the statistics object you wish to update and select Properties.

  6. Aktivieren Sie im Dialogfeld Statistikeigenschaften – Name_der_Statistik das Kontrollkästchen Statistiken für diese Spalten aktualisieren, und klicken Sie dann auf OK.In the Statistics Properties -statistics_name dialog box, select the Update statistics for these columns check box and then click OK.

Verwenden von Transact-SQLUsing Transact-SQL

So aktualisieren Sie ein bestimmtes StatistikobjektTo update a specific statistics object

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    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  
    

So aktualisieren Sie alle Statistiken in einer TabelleTo update all statistics in a table

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;   
    GO  
    -- The following example updates the statistics for all indexes on the SalesOrderDetail table.   
    UPDATE STATISTICS Sales.SalesOrderDetail;   
    GO  
    

Weitere Informationen finden Sie unter UPDATE STATISTICS (Transact-SQL)erstellt wurden.For more information, see UPDATE STATISTICS (Transact-SQL).

So aktualisieren Sie alle Statistiken in einer DatenbankTo update all statistics in a database

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;   
    GO  
    -- The following example updates the statistics for all tables in the database.   
    EXEC sp_updatestats;  
    

Weitere Informationen finden Sie unter sp_updatestats (Transact-SQL).For more information, see sp_updatestats (Transact-SQL).

Automatische Verwaltung von Index und StatistikenAutomatic index and statistics management

Nutzen Sie Lösungen wie Adaptive Index Defrag, um die Indexdefragmentierung und das Aktualisieren der Statistiken für eine oder mehrere Datenbanken automatisch zu verwalten.Leverage solutions such as Adaptive Index Defrag to automatically manage index defragmentation and statistics updates for one or more databases. Dieser Vorgang entscheidet unter anderem anhand des Fragmentierungsgrads automatisch, ob ein Index neu organisiert oder neu erstellt wird und aktualisiert Statistiken mit einem linearen Schwellenwert.This procedure automatically chooses whether to rebuild or reorganize an index according to its fragmentation level, amongst other parameters, and update statistics with a linear threshold.