Teilen über


sp_createstats (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz

Ruft die CREATE STATISTICS -Anweisung auf, um Einzelspaltenstatistiken für Spalten zu erstellen, die nicht bereits die erste Spalte in einem Statistikobjekt sind. Das Erstellen von Statistiken für einzelne Spalten erhöht die Anzahl von Histogrammen und kann zur Verbesserung von Kardinalitätsschätzungen, Abfrageplänen und Abfrageleistung führen. Die erste Spalte eines Statistikobjekts verfügt über ein Histogramm, während andere Spalten kein Histogramm enthalten.

sp_createstats ist für Anwendungen wie Vergleichstests hilfreich, wenn Abfrageausführungszeiten ein kritischer Faktor sind, und es zu lange dauert, bis der Abfrageoptimierer Statistiken für einzelne Spalten generiert hat. In den meisten Fällen ist es nicht notwendig, sp_createstats zu verwenden; Der Abfrageoptimierer generiert bei Bedarf Statistiken mit einer Spalte, um Abfragepläne zu verbessern, wenn die Option AUTO_CREATE_STATISTICS aktiviert ist.

Weitere Informationen zu Statistiken finden Sie unter Statistik. Weitere Informationen zum Generieren von Einzelspaltenstatistiken finden Sie in der option AUTO_CREATE_STATISTICS in ALTER DATABASE SET Options (Transact-SQL).

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_createstats   
    [   [ @indexonly =   ] { 'indexonly'   | 'NO' } ]   
    [ , [ @fullscan =    ] { 'fullscan'    | 'NO' } ]   
    [ , [ @norecompute = ] { 'norecompute' | 'NO' } ]  
    [ , [ @incremental = ] { 'incremental' | 'NO' } ]  

Argumente

[ @indexonly = ] 'indexonly' Erstellt Statistiken nur für Spalten, die sich in einem vorhandenen Index befinden und nicht die erste Spalte in einer Indexdefinition sind. indexonly ist char(9). Der Standardwert ist NO.

[ @fullscan = ] 'fullscan' Verwendet die CREATE STATISTICS -Anweisung mit der OPTION FULLSCAN . fullscan ist char(9). Der Standardwert ist NO.

[ @norecompute = ] 'norecompute' Verwendet die CREATE STATISTICS -Anweisung mit der OPTION NORECOMPUTE . norecompute ist char(12). Der Standardwert ist NO.

[ @incremental = ] 'incremental' Verwendet die CREATE STATISTICS -Anweisung mit der OPTION INKREMENTELL = ON . Inkrementell ist Char(12). Der Standardwert ist NO.

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

Resultsets

Jedes neue Statistikobjekt hat den gleichen Namen wie die Spalte, für die es erstellt wurde.

Hinweise

sp_createstats erstellt oder aktualisiert keine Statistiken zu Spalten, die die erste Spalte in einem vorhandenen Statistikobjekt sind; Dies umfasst die erste Spalte von Statistiken, die für Indizes erstellt wurden, Spalten mit einzelspaltigen Statistiken, die mit AUTO_CREATE_STATISTICS Option generiert wurden, und die erste Spalte mit Statistiken, die mit der CREATE STATISTICS-Anweisung erstellt wurden. sp_createstats erstellt keine Statistiken zu den ersten Spalten deaktivierter Indizes, es sei denn, diese Spalte wird in einem anderen aktivierten Index verwendet. sp_createstats erstellt keine Statistiken zu Tabellen mit einem deaktivierten gruppierten Index.

Wenn die Tabelle einen Spaltensatz enthält, werden mit sp_createstats keine Statistiken für Sparsespalten erstellt. Weitere Informationen zu Spaltensätzen und geringen Spalten finden Sie unter Verwenden von Spaltensätzen und Verwenden von spaltensparend.

Berechtigungen

Hierfür ist die Mitgliedschaft in der festen Datenbankrolle db_owner erforderlich.

Beispiele

A. Erstellen von Statistiken für einzelne Spalten für alle geeigneten Spalten

Im folgenden Beispiel wird eine Statistik für einzelne Spalten für alle geeigneten Spalten in der aktuellen Datenbank erstellt.

EXEC sp_createstats;  
GO  

B. Erstellen von Statistiken für einzelne Spalten für alle geeigneten Indexspalten

Im folgenden Beispiel werden Statistiken für einzelne Spalten für alle geeigneten Spalten erstellt, die sich bereits in einem Index befinden und nicht der ersten Spalte im Index entsprechen.

EXEC sp_createstats 'indexonly';  
GO  

Weitere Informationen

Statistik
CREATE STATISTICS (Transact-SQL)
ALTER DATABASE SET-Optionen (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Datenbank-Engine Gespeicherte Prozeduren (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)