sp_statistics (Transact-SQL)

Mis à jour : 17 juillet 2006

Retourne la liste de tous les index et statistiques d'une table ou d'une vue indexée.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

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 à la normeX/Open, 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.

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 cluster SQL 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.

Valeurs des codes retournés

Aucune

Voir aussi

Référence

Procédures stockées de catalogue (Transact-SQL)
Procédures stockées système (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Nouveau contenu :
  • Définition des valeurs du paramètre @accuracy.