sp_statistics (Transact-SQL)
Restituisce un elenco di tutti gli indici e le statistiche per la tabella o vista indicizzata specificata.
Sintassi
sp_statistics [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @index_name = ] 'index_name' ]
[ , [ @is_unique = ] 'is_unique' ]
[ , [ @accuracy = ] 'accuracy' ]
Argomenti
[ @table_name= ] 'table_name'
Specifica la tabella utilizzata per restituire le informazioni del catalogo. table_name è di tipo sysname e non prevede alcun valore predefinito. I criteri di ricerca con caratteri jolly non sono supportati.[ @table_owner= ] 'owner'
Nome del proprietario della tabella utilizzata per restituire le informazioni del catalogo. table_owner è di tipo sysname e il valore predefinito è NULL. I criteri di ricerca con caratteri jolly non sono supportati. Se non si specifica owner, vengono applicate le regole di visibilità della tabella predefinite del sistema DBMS sottostante.In SQL Server, se l'utente corrente è il proprietario di una tabella con il nome specificato, vengono restituiti gli indici di tale tabella. Se owner viene omesso e l'utente corrente non è il proprietario di una tabella con il valore name specificato, viene eseguita la ricerca di una tabella con nome corrispondente al valore name specificato e di proprietà del proprietario del database. Se tale tabella esiste, vengono restituiti gli indici corrispondenti.
[ @table_qualifier= ] 'qualifier'
Nome del qualificatore di tabella. qualifier è di tipo sysname e il valore predefinito è NULL. Vari prodotti DBMS supportano nomi in tre parti per le tabelle, ovvero qualifier**.owner.**name. In SQL Server questo parametro rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella.[ @index_name= ] 'index_name'
Nome dell'indice. index_name è di tipo sysname e il valore predefinito è %. Sono supportati criteri di ricerca con caratteri jolly.[ @is_unique= ] 'is_unique'
Indica se devono essere restituiti solo indici univoci (se è uguale a Y). is_unique è di tipo char(1) e il valore predefinito è N.[ @accuracy= ] 'accuracy'
Livello di precisione della cardinalità e delle pagine per le statistiche. accuracy è di tipo char(1) e il valore predefinito è Q. Specificare E per verificare che le statistiche siano aggiornate in modo tale da garantire la precisione della cardinalità e delle pagine.Il valore E (SQL_ENSURE) chiede al driver di recuperare le statistiche in modo incondizionato.
Il valore Q (SQL_QUICK) chiede al driver di recuperare la cardinalità e le pagine solo se queste sono immediatamente disponibili dal server. In tal caso, il driver non garantisce che i valori siano aggiornati. Per le applicazioni scritte in base allo standard Open Group viene restituito sempre il comportamento di SQL_QUICK da driver compatibili con ODBC 3.x.
Set di risultati
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
TABLE_QUALIFIER |
sysname |
Nome del qualificatore della tabella. Questa colonna può essere NULL. |
TABLE_OWNER |
sysname |
Nome del proprietario della tabella. Questa colonna restituisce sempre un valore. |
TABLE_NAME |
sysname |
Nome della tabella. Questa colonna restituisce sempre un valore. |
NON_UNIQUE |
smallint |
NOT NULL. 0 = Univoco 1 = Non univoco |
INDEX_QUALIFIER |
sysname |
Nome del proprietario dell'indice. In alcuni prodotti DBMS gli indici possono essere creati da utenti diversi dal proprietario della tabella. In SQL Server questa colonna corrisponde sempre a TABLE_NAME. |
INDEX_NAME |
sysname |
Nome dell'indice. Questa colonna restituisce sempre un valore. |
TYPE |
smallint |
Questa colonna restituisce sempre un valore: 0 = Statistiche per una tabella 1 = Cluster 2 = Hash 3 = Non cluster |
SEQ_IN_INDEX |
smallint |
Posizione della colonna all'interno dell'indice. |
COLUMN_NAME |
sysname |
Nome di ogni colonna della tabella TABLE_NAME restituita. Questa colonna restituisce sempre un valore. |
COLLATION |
char(1) |
Ordine utilizzato nelle regole di confronto. I possibili valori sono i seguenti: A = Crescente D = Decrescente NULL = Non applicabile |
CARDINALITY |
int |
Numero di righe nella tabella o di valori univoci nell'indice. |
PAGES |
int |
Numero di pagine in cui archiviare l'indice o la tabella. |
FILTER_CONDITION |
varchar(128) |
SQL Server non restituisce un valore. |
Valori restituiti
Nessuno
Osservazioni
Gli indici nel set dei risultati vengono visualizzati in ordine crescente in base alle colonne NON_UNIQUE, TYPE, INDEX_NAME e SEQ_IN_INDEX.
Gli indici di tipo cluster sono quelli in cui i dati della tabella sono archiviati nell'ordine dell'indice, come per gli indici cluster di SQL Server.
Il tipo di indice Hash accetta ricerche di corrispondenze esatte o ricerche basate su intervalli, ma non viene utilizzato per ricerche con criteri.
sp_statistics corrisponde a SQLStatistics in ODBC. I risultati restituiti vengono ordinati in base alle colonne NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME e SEQ_IN_INDEX. Per ulteriori informazioni, vedere la Guida di riferimento alle API ODBC.
Autorizzazioni
È richiesta l'autorizzazione SELECT per lo schema.
Vedere anche