sp_statistics (Transact-SQL)
Retourne la liste de tous les index et statistiques d'une table ou d'une vue indexée.
Syntaxe
sp_statistics [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @index_name = ] 'index_name' ]
[ , [ @is_unique = ] 'is_unique' ]
[ , [ @accuracy = ] 'accuracy' ]
Arguments
[ @table_name= ] 'table_name'
Spécifie la table utilisée pour retourner les informations de catalogue. table_name est de type sysname, sans valeur par défaut. Le filtrage par caractères génériques n'est pas pris en charge.[ @table_owner= ] 'owner'
Nom du propriétaire de la table utilisée pour renvoyer des informations de catalogue. table_owner est de type sysname. Sa valeur par défaut est NULL. Le filtrage par caractères génériques n'est pas pris en charge. Si l'argument owner n'est pas spécifié, les règles définissant par défaut la visibilité des tables du SGBD sous-jacent s'appliquent.Si, dans SQL Server, l'utilisateur actuel est propriétaire d'une table portant le nom spécifié, les index de la table sont retournés. Si la valeur de owner n'est pas spécifiée et que l'utilisateur actuel ne possède pas de table dont la valeur name est spécifiée, cette procédure recherche une table, avec la valeur name spécifiée, qui soit possédée par le propriétaire de la base de données. Si cette table existe, ses index sont retournés.
[ @table_qualifier= ] 'qualifier'
Nom du qualificateur de la table. qualifier est de type sysname. Sa valeur par défaut est NULL. Divers produits de SGDB prennent en charge la dénomination en trois parties des tables (qualifier**.owner.**name). Dans SQL Server, ce paramètre représente le nom de la base de données. Dans certains produits de SGBD, il représente le nom du serveur de l'environnement de base de données de la table.[ @index_name= ] 'index_name'
Nom de l'index. index_name est de type sysname. Sa valeur par défaut est %. Le filtrage par caractères génériques est pris en charge.[ @is_unique= ] 'is_unique'
Indique s'il faut retourner uniquement les index uniques (si Y est sélectionné). is_unique est de type char(1). Sa valeur par défaut est N.[ @accuracy= ] 'accuracy'
Niveau de précision de la cardinalité et des pages pour les statistiques. accuracy est de type char(1). Sa valeur par défaut est Q. Spécifiez E pour vous assurer que les statistiques sont mises à jour afin de garantir l'exactitude de la cardinalité et des pages.La valeur E (SQL_ENSURE) indique au pilote de récupérer les statistiques sans aucune condition.
La valeur Q (SQL_QUICK) indique au pilote de récupérer la cardinalité et les pages uniquement si elles sont immédiatement disponibles sur le serveur. Dans ce cas, le pilote ne s'assure pas que les valeurs sont actuelles. Pour les applications écrites conformément au standard de groupe ouvert, seule l'option SQL_QUICK est disponible de la part des pilotes compatibles ODBC 3.x.
Jeux de résultats
Nom de colonne |
Type de données |
Description |
---|---|---|
TABLE_QUALIFIER |
sysname |
Nom du qualificateur de la table. Cette colonne peut être NULL. |
TABLE_OWNER |
sysname |
Nom du propriétaire de la table. Cette colonne renvoie toujours une valeur. |
TABLE_NAME |
sysname |
Nom de la table. Cette colonne renvoie toujours une valeur. |
NON_UNIQUE |
smallint |
NON NULL. 0 = Unique 1 = Non unique |
INDEX_QUALIFIER |
sysname |
Nom du propriétaire de l'index. Certains produits de SGBD autorisent des utilisateurs autres que le propriétaire de la table à créer des index. Dans SQL Server, cette colonne est toujours identique à TABLE_NAME. |
INDEX_NAME |
sysname |
Nom de l'index. Cette colonne renvoie toujours une valeur. |
TYPE |
smallint |
Cette colonne renvoie toujours une valeur : 0 = Statistiques pour une table 1 = Cluster 2 = Haché 3 = Non cluster |
SEQ_IN_INDEX |
smallint |
Position de la colonne dans l'index |
COLUMN_NAME |
sysname |
Nom de chacune des colonnes de TABLE_NAME retournées. Cette colonne renvoie toujours une valeur. |
COLLATION |
char(1) |
Ordre utilisé dans les classements. Valeurs possibles : A = Croissant D = Décroissant NULL = Non applicable |
CARDINALITY |
int |
Nombre de lignes dans la table ou de valeurs uniques dans l'index. |
PAGES |
int |
Nombre de pages pour stocker l'index ou la table. |
FILTER_CONDITION |
varchar(128) |
SQL Server ne retourne pas de valeur. |
Valeurs des codes retournés
Aucune
Notes
Dans le jeu de résultats, les index sont triés par ordre croissant par les colonnes NON_UNIQUE, TYPE, INDEX_NAME et SEQ_IN_INDEX.
Le type d'index cluster fait référence à un index dans lequel les données de la table sont stockées dans l'ordre de l'index. Cela correspond aux index clusterSQL Server.
Le type d'index haché accepte les recherches de concordance exacte ou d'intervalle, mais les recherches par critères spéciaux n'utilisent pas l'index.
sp_statistics est équivalente à SQLStatistics dans ODBC. Les résultats retournés sont classés par NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME et SEQ_IN_INDEX. Pour plus d'informations, consultez ODBC API Reference (en anglais).
Autorisations
Nécessite l'autorisation SELECT sur le schéma.