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 Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query. Per ulteriori informazioni sulla generazione di statistiche di colonna singola, vedere l'opzione AUTO_CREATE_STATISTICS in Opzioni ALTER DATABASE SET (Transact-SQL).

Icona di collegamento a un argomentoConvenzioni 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 è char(9) e il valore predefinito è NO.

  • [ @fullscan= ] 'fullscan'
    Utilizza l'istruzione CREATE STATISTICS con l'opzione FULLSCAN. fullscan è char(9) e il valore predefinito è NO.

  • [ @norecompute= ] 'norecompute'
    Utilizza l'istruzione CREATE STATISTICS con l'opzione NORECOMPUTE. norecompute è char(12) e il valore predefinito è NO.

Valori del codice 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 creata 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 di tipo sparse, vedere Utilizzo di 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

Cronologia modifiche

Aggiornamento del contenuto

Revisioni in tutto il documento per migliorare l'accuratezza.

L'argomento contiene riferimenti al nuovo contenuto sulle statistiche nell'argomento Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query.