Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Roept de CREATE STATISTICS-instructie aan om statistieken met één kolom te maken op kolommen die niet al de eerste kolom in een statistiekobject zijn. Het maken van statistieken met één kolom verhoogt het aantal histogrammen, wat de schattingen van de cardinaliteit, queryplannen en de queryprestaties kan verbeteren. De eerste kolom van een statistisch object heeft een histogram; Andere kolommen hebben geen histogram.
sp_createstats is nuttig voor toepassingen zoals benchmarking wanneer de uitvoeringstijden van querys cruciaal zijn en niet kunnen wachten tot de queryoptimizer statistieken met één kolom genereert. In de meeste gevallen is het niet nodig om sp_createstats; de query-optimizer genereert enkelkolomstatistieken indien nodig om queryplannen te verbeteren wanneer de AUTO_CREATE_STATISTICS optie aan staat.
Zie Statistieken voor meer informatie over statistieken. Voor meer informatie over het genereren van statistieken met één kolom, zie de AUTO_CREATE_STATISTICS optie in de opties ALTER DATABASE SET.
Transact-SQL syntaxis-conventies
Syntaxis
sp_createstats
[ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[ , [ @incremental = ] 'incremental' ]
[ ; ]
Arguments
[ @indexonly = ] 'alleen index'
Maakt statistieken alleen aan op kolommen die in een bestaande index zitten en niet de eerste kolom zijn in een indexdefinitie.
@indexonly is karakter(9), met een standaard van NO.
[ @fullscan = ] 'fullscan'
Gebruikt de CREATE STATISTICS-instructie met de FULLSCAN optie.
@fullscan is char(9), met een standaard van NO.
[ @norecompute = ] 'norecompute'
Gebruikt de CREATE STATISTICS-instructie met de NORECOMPUTE optie.
@norecompute is karakter(12), met als standaard .NO
[ @incremental = ] 'incrementeel'
Gebruikt de CREATE STATISTICS-instructie met de INCREMENTAL = ON optie.
@incremental is karakter(12), met als standaard .NO
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Resultaatset
Elk nieuw statistiekobject heeft dezelfde naam als de kolom waarop het is aangemaakt.
Opmerkingen
sp_createstats maakt geen statistieken aan of werkt deze niet bij op kolommen die de eerste kolom zijn in een bestaand statistiekobject. Dit omvat de eerste kolom statistieken die voor indexen zijn gemaakt, kolommen met enkelkolomstatistieken die met AUTO_CREATE_STATISTICS optie zijn gegenereerd, en de eerste kolom statistieken die met de CREATE STATISTICS stelling zijn gemaakt.
sp_createstats maakt geen statistieken aan op de eerste kolommen van uitgeschakelde indexen, tenzij die kolom wordt gebruikt in een andere ingeschakelde index.
sp_createstats maakt geen statistieken aan op tabellen met een uitgeschakelde geclusterde index.
Wanneer de tabel een kolomset bevat, sp_createstats wordt er geen statistiek gemaakt op de spaarzame kolommen. Voor meer informatie over kolomverzamelingen en dunne kolommen, zie Gebruik kolomverzamelingen en Gebruik spaarse kolommen.
Permissions
Vereist lidmaatschap van de db_owner vaste databaserol.
Voorbeelden
Eén. Maak statistieken met één kolom op alle in aanmerking komende kolommen
Het volgende voorbeeld genereert statistieken met één kolom voor alle in aanmerking komende kolommen in de huidige database.
EXECUTE sp_createstats;
GO
B. Maak statistieken met één kolom op alle in aanmerking komende indexkolommen
Het volgende voorbeeld maakt statistieken met één kolom op alle in aanmerking komende kolommen die al in een index staan en niet de eerste kolom in de index zijn.
EXECUTE sp_createstats 'indexonly';
GO