sp_createstats (Transact-SQL)
Chiama l'istruzione CREATE STATISTICS per creare statistiche di colonna singola su colonne che non sono ancora prime colonne di un oggetto statistiche. La creazione di statistiche di colonna singola aumenta il numero di istogrammi, con un conseguente miglioramento delle stime della cardinalità, dei piani di query e delle prestazioni di esecuzione delle query. La prima colonna di un oggetto statistiche include un istogramma, mentre le altre colonne non dispongono istogrammi.
sp_createstats è utile per applicazioni quali quelle di benchmarking quando l'ora di esecuzione delle query è critica e non è possibile attendere la generazione delle statistiche di colonna singola da parte di Query Optimizer. Nella maggior parte dei casi non è necessario utilizzare sp_createstats, in quanto Query Optimizer genera le statistiche di colonna singola necessarie per migliorare i piani di query quando l'opzione AUTO_CREATE_STATISTICS è abilitata.
Per ulteriori informazioni sulle statistiche, vedere Statistiche. Per ulteriori informazioni sulla generazione di statistiche di colonna singola, vedere l'opzione AUTO_CREATE_STATISTICS in Opzioni ALTER DATABASE SET (Transact-SQL).
Convenzioni della sintassi Transact-SQL
Sintassi
sp_createstats [ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
Argomenti
[ @indexonly= ] 'indexonly'
Crea statistiche solo sulle colonne presenti in un indice esistente che non sono prime colonne in una definizione dell'indice. indexonly è di tipo char(9). e il valore predefinito è NO.[ @fullscan= ] 'fullscan'
Utilizza l'istruzione CREATE STATISTICS con l'opzione FULLSCAN. fullscan è di tipo char(9). e il valore predefinito è NO.[ @norecompute= ] 'norecompute'
Utilizza l'istruzione CREATE STATISTICS con l'opzione NORECOMPUTE. norecompute è di tipo char(12). e il valore predefinito è NO.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Il nome dei nuovi oggetti statistiche corrisponde a quello delle colonne su cui sono stati creati.
Osservazioni
sp_createstats non crea né aggiorna statistiche su colonne che sono prime colonne di un oggetto statistiche esistente. Sono incluse la prima colonna di statistiche create per gli indici, le colonne con statistiche di colonna singola generate con l'opzione AUTO_CREATE_STATISTICS e la prima colonna di statistiche create con l'istruzione CREATE STATISTICS. sp_createstats non crea statistiche sulle prime colonne di indici disabilitati, a meno che la colonna non venga utilizzata in un altro indice abilitato. sp_createstats non crea statistiche sulle tabelle con un indice cluster disabilitato.
Quando la tabella contiene un set di colonne, sp_createstats non crea statistiche sulle colonne di tipo sparse. Per ulteriori informazioni sui set di colonne e sulle colonne di tipo sparse, vedere Utilizzare set di colonne e Utilizzo di colonne di tipo sparse.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del database db_owner.
Esempi
A.Creazione di statistiche di colonna singola su tutte le colonne idonee
Nell'esempio seguente vengono create statistiche di colonna singola su tutte le colonne idonee del database corrente.
EXEC sp_createstats;
GO
B.Creazione di statistiche di colonna singola su tutte le colonne di indice idonee
Nell'esempio seguente vengono create statistiche di colonna singola su tutte le colonne idonee già presenti in un indice e che non sono prime colonne dell'indice.
EXEC sp_createstats 'indexonly';
GO
Vedere anche
Riferimento
CREATE STATISTICS (Transact-SQL)
Opzioni ALTER DATABASE SET (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Stored procedure del Motore di database (Transact-SQL)
Stored procedure di sistema (Transact-SQL)