Aktualisieren der Statistik

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Sie können Abfrageoptimierungsstatistiken für eine Tabelle oder indizierte Sicht in SQL Server mit SQL Server Management Studio oder Transact-SQL aktualisieren. 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.

Durch das Update von Statistiken wird sichergestellt, dass Abfragen anhand aktueller Statistiken kompiliert werden. Dies führt jedoch dazu, dass Abfragen neu kompiliert werden. 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. Die Entscheidung hängt von der verwendeten Anwendung ab. UPDATE STATISTICS kann tempdb verwenden, um die Stichprobenzeilen zum Erstellen von Statistiken zu sortieren.

Berechtigungen

Bei der Verwendung von UPDATE STATISTICS oder beim Vornehmen von Änderungen mit SQL Server Management Studio ist für die Tabelle oder Ansicht die ALTER-Berechtigung erforderlich. Wenn Sie sp_updatestatsverwenden, ist die Mitgliedschaft in der festen Serverrolle sysadmin oder der Besitz der Datenbank (dbo) erforderlich.

Verwenden von SQL Server Management Studio

So aktualisieren Sie ein Statistikobjekt

  1. Klicken Sie im Objekt-Explorerauf das Pluszeichen, um die Datenbank zu erweitern, in der Sie die Statistik aktualisieren möchten.

  2. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.

  3. Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, in der Sie die Statistik aktualisieren möchten.

  4. Klicken Sie auf das Pluszeichen, um den Ordner Statistik zu erweitern.

  5. Klicken Sie mit der rechten Maustaste auf das Statistikobjekt, das Sie aktualisieren möchten, und wählen Sie Eigenschaften.

  6. Aktivieren Sie im Dialogfeld Statistikeigenschaften -statistics_name das Kontrollkästchen Statistiken für diese Spalten aktualisieren, und klicken Sie dann auf OK.

Verwenden von Transact-SQL

So aktualisieren Sie ein bestimmtes Statistikobjekt

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

    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
    

So aktualisieren Sie alle Statistiken in einer Tabelle

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

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

Weitere Informationen finden Sie unter AKTUALISIEREN VON STATISTIKEN (UPDATE STATISTICS).

So aktualisieren Sie alle Statistiken in einer Datenbank

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

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

Automatische Verwaltung von Index und Statistiken

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. Diese Vorgehensweise entscheidet unter anderem anhand des Fragmentierungsgrads automatisch, ob ein Index neu erstellt oder neu organisiert wird, und aktualisiert Statistiken mit einem linearen Schwellenwert.