Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Volá příkaz CREATE STATISTICS k vytvoření jednosloupcových statistik ve sloupcích, které nejsou již prvním sloupcem v objektu statistiky. Vytváření statistik v jednom sloupci zvyšuje počet histogramů, což může zlepšit odhady kardinálnosti, plány dotazů a výkon dotazů. První sloupec objektu statistiky má histogram; Jiné sloupce nemají histogram.
sp_createstats je užitečný pro aplikace jako benchmarking, když jsou časy provádění dotazu kritické a nemohou čekat, až optimalizátor dotazu vygeneruje statistiky v jednom sloupci. Ve většině případů není nutné používat sp_createstats; optimalizátor dotazů generuje statistiky v jednotlivých sloupcích podle potřeby ke zlepšení plánů dotazů, když je tato AUTO_CREATE_STATISTICS možnost zapnutá.
Další informace o statistikách naleznete v tématu Statistika. Pro více informací o generování statistik v jednotlivých sloupcích viz AUTO_CREATE_STATISTICS možnost v ALTER DATABASE SET options.
Syntaxe
sp_createstats
[ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[ , [ @incremental = ] 'incremental' ]
[ ; ]
Arguments
[ @indexonly = ] 'indexonly'
Vytváří statistiky pouze ve sloupcích, které jsou v existujícím indexu a nejsou prvním sloupcem v žádné definici indexu.
@indexonly je char(9), s výchozím hodnotou NO.
[ @fullscan = ] 'fullscan'
Používá příkaz CREATE STATISTICS s touto FULLSCAN možností.
@fullscan je char(9), s výchozím hodnotou NO.
[ @norecompute = ] 'norecompute'
Používá příkaz CREATE STATISTICS s touto NORECOMPUTE možností.
@norecompute je char(12), s výchozím hodnotou NO.
[ @incremental = ] 'postupně'
Používá příkaz CREATE STATISTICS s touto INCREMENTAL = ON možností.
@incremental je char(12), s výchozím hodnotou NO.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Každý nový statistický objekt má stejný název jako sloupec, ve kterém je vytvořen.
Poznámky
sp_createstats nevytváří ani neaktualizuje statistiky ve sloupcích, které jsou prvním sloupcem v existujícím statistickém objektu. To zahrnuje první sloupec statistik vytvořených pro indexy, sloupce s jednosloupcovými statistikami generovanými s AUTO_CREATE_STATISTICS volbou a první sloupec statistik vytvořených tímto příkazem CREATE STATISTICS .
sp_createstats Nevytváří statistiky v prvních sloupcích deaktivovaných indexů, pokud tento sloupec není použit v jiném povoleném indexu.
sp_createstats Nevytváří statistiky v tabulkách s deaktivovaným shlukovaným indexem.
Když tabulka obsahuje sadu sloupců, sp_createstats nevytváří statistiky na řídkých sloupcích. Pro více informací o množinách sloupců a řídkých sloupcích viz Použít sady sloupců a Použít řídké sloupce.
Povolení
Vyžaduje členství v roli db_owner pevné databáze.
Examples
A. Vytvořte statistiky v jednotlivých sloupcích pro všechny způsobilé sloupce
Následující příklad vytváří statistiky v jednom sloupci pro všechny způsobilé sloupce v aktuální databázi.
EXECUTE sp_createstats;
GO
B. Vytvořte jednosloupcové statistiky pro všechny způsobilé indexové sloupce
Následující příklad vytváří statistiky v jednotlivých sloupcích pro všechny způsobilé sloupce, které jsou již v indexu a nejsou prvním sloupcem indexu.
EXECUTE sp_createstats 'indexonly';
GO
Související obsah
- Statistika
- VYTVOŘIT STATISTIKY (Transact-SQL)
- ALTER DATABASE SET Options (Transact-SQL)
-
DB SHOW_STATISTICS CC (Transact-SQL) - DROP STATISTIKY (Transact-SQL)
- UPDATE STATISTICS (Transact-SQL)
- uložené procedury databázového stroje (Transact-SQL)
- uložené procedury systému (Transact-SQL)