Udostępnij za pomocą


sp_createstats (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Wywołuje polecenie CREATE STATSS , aby tworzyć statystyki pojedyncze kolumny na kolumnach, które nie są już pierwszą kolumną obiektu statystyk. Tworzenie statystyk jednokolumnowych zwiększa liczbę histogramów, co może poprawić szacunki liczebności, plany zapytań oraz wydajność zapytań. Pierwsza kolumna obiektu statystyki zawiera histogram; Inne kolumny nie mają histogramu.

sp_createstats jest przydatny w aplikacjach takich jak benchmarking, gdy czasy wykonywania zapytań są krytyczne i nie mogą czekać, aż optymalizator zapytań wygeneruje statystyki jednokolumnowe. W większości przypadków nie jest konieczne używanie sp_createstats; optymalizator zapytań generuje statystyki jednokolumnowe, gdy jest to konieczne, aby poprawić plany zapytań, gdy opcja AUTO_CREATE_STATISTICS jest włączona.

Aby uzyskać więcej informacji na temat statystyk, zobacz Statystyki. Aby uzyskać więcej informacji na temat generowania statystyk jednokolumnowych, zobacz AUTO_CREATE_STATISTICS opcję w ALTER DATABASE SET OPTIONS.

Transact-SQL konwencje składni

Składnia

sp_createstats
    [ [ @indexonly = ] 'indexonly' ]
    [ , [ @fullscan = ] 'fullscan' ]
    [ , [ @norecompute = ] 'norecompute' ]
    [ , [ @incremental = ] 'incremental' ]
[ ; ]

Arguments

[ @indexonly = ] 'tylko indeksowy'

Tworzy statystyki tylko na kolumnach znajdujących się w istniejącym indeksie i nie będących pierwszą kolumną w żadnej definicji indeksu. @indexonly to char(9), z domyślnym obciążeniem NO.

[ @fullscan = ] 'pełny skan'

Używa instrukcji CREATE STATISTICS z tą FULLSCAN opcją. @fullscan jest char(9), z domyślnym obciążeniem NO.

[ @norecompute = ] 'norecompute'

Używa instrukcji CREATE STATISTICS z tą NORECOMPUTE opcją. @norecompute to char(12), z domyślnym .NO

[ @incremental = ] 'stopniowo'

Używa instrukcji CREATE STATISTICS z tą INCREMENTAL = ON opcją. @incremental to char(12), z domyślnym .NO

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Każdy nowy obiekt statystyk ma tę samą nazwę co kolumna, na której został utworzony.

Uwagi

sp_createstats nie tworzy ani nie aktualizuje statystyk w kolumnach będących pierwszą kolumną istniejącego obiektu statystyk. Obejmuje to pierwszą kolumnę statystyk utworzonych dla indeksów, kolumny z jednokolumnowymi statystykami generowanymi opcjonalnie AUTO_CREATE_STATISTICS oraz pierwszą kolumnę statystyk utworzonych za CREATE STATISTICS pomocą tego zaświadczenia. sp_createstats Nie tworzy statystyk w pierwszych kolumnach wyłączonych indeksów, chyba że ta kolumna jest użyta w innym indeksie włączonym. sp_createstats Nie tworzy statystyk w tabelach z wyłączonym indeksem skupionym.

Gdy tabela zawiera zestaw sp_createstats kolumn, nie tworzy statystyk na rzadkich kolumnach. Aby uzyskać więcej informacji o zbiorach kolumn i kolumnach rzadkich, zobacz Używaj zestawów kolumn oraz Używaj kolumn rzadkich.

Permissions

Wymaga członkostwa w db_owner stałej roli bazy danych.

Przykłady

A. Stwórz statystyki jednokolumnowe dla wszystkich uprawnionych kolumn

Poniższy przykład tworzy statystyki jednokolumnowe dla wszystkich uprawnionych kolumn w aktualnej bazie danych.

EXECUTE sp_createstats;
GO

B. Stwórz statystyki jednokolumnowe dla wszystkich uprawnionych kolumn indeksu

Poniższy przykład tworzy statystyki jednokolumnowe dla wszystkich uprawnionych kolumn, które już znajdują się w indeksie i nie są pierwszą kolumną indeksu.

EXECUTE sp_createstats 'indexonly';
GO