sp_statistics (Transact-SQL)
Restituisce un elenco di tutti gli indici e le statistiche per la tabella o vista indicizzata specificata.
Convenzioni della sintassi Transact-SQL
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. Le ricerche con caratteri jolly non sono supportate. 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 di tabella composti da tre parti, ovvero qualifier**.owner.**name. In SQL Server questo parametro rappresenta il nome del database. In alcuni 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 conformi a 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. In questa colonna viene sempre restituito 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 di 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.