sys.sysindexes (Transact-SQL)
Contient une ligne pour chaque index et chaque table de la base de données active. Cette vue ne prend pas en charge les index XML. Les index et les tables partitionnés ne sont pas totalement pris en charge dans cette vue ; utilisez plutôt l'affichage catalogue sys.indexes.
Important
Cette table système SQL Server 2000 est incluse sous la forme d'une vue pour la compatibilité descendante. Nous vous recommandons d'utiliser les vues système SQL Server actuelle. Pour trouver les vues système équivalentes, consultez Mappage des tables système SQL Server 2000 avec les vues système SQL Server 2005. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.
Nom de la colonne |
Type de données |
Description |
---|---|---|
id |
int |
Identificateur de la table à laquelle l'index appartient. |
status |
int |
Informations sur l'état du système. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
first |
binary(6) |
Pointeur vers la première page ou la page racine. Inutilisé lorsque indid = 0. NULL = L'index est partitionné lorsque indid > 1. NULL = La table est partitionnée lorsque indid est égal à 0 ou à 1. |
indid |
smallint |
Identificateur de l'index : 0 = Segment de mémoire 1 = Index cluster >1 = Index non-cluster |
root |
binary(6) |
Pour indid >= 1, root est le pointeur vers la page racine. Inutilisé lorsque indid = 0. NULL = L'index est partitionné quand indid > 1. NULL = La table est partitionnée lorsque indid est égal à 0 ou à 1. |
minlen |
smallint |
Taille minimale d'une ligne. |
keycnt |
smallint |
Nombre de clés. |
groupid |
smallint |
Identificateur du groupe de fichiers sur lequel l'objet a été créé. NULL = L'index est partitionné quand indid > 1. NULL = La table est partitionnée quand indid est égal à 0 ou à 1. |
dpages |
int |
Pour indid = 0 ou indid = 1, dpages est le nombre de pages de données utilisées. Pour indid > 1, dpages est le nombre de pages d'index utilisées. 0 = L'index est partitionné lorsque indid > 1. 0 = La table est partitionnée lorsque indid est égal à 0 ou à 1. Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes. |
reserved |
int |
Pour indid = 0 ou indid = 1, reserved est le nombre de pages allouées à tous les index et toutes les données de la table. Pour indid > 1, reserved est le nombre de pages allouées à l'index. 0 = L'index est partitionné lorsque indid > 1. 0 = La table est partitionnée lorsque indid est égal à 0 ou à 1. Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes. |
used |
int |
Pour indid = 0 ou indid = 1, used est le nombre total de pages utilisées pour tous les index et toutes les données de la table. Pour indid > 1, used est le nombre de pages utilisées pour l'index. 0 = L'index est partitionné lorsque indid > 1. 0 = La table est partitionnée lorsque indid est égal à 0 ou à 1. Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes. |
rowcnt |
bigint |
Nombre de lignes de niveau données dépendant de la valeur indid = 0 et indid = 1. 0 = L'index est partitionné lorsque indid > 1. 0 = La table est partitionnée lorsque indid est égal à 0 ou à 1. |
rowmodctr |
int |
Compte le nombre total de lignes insérées, supprimées ou mises à jour depuis la dernière mise à jour des statistiques de la table. 0 = L'index est partitionné lorsque indid > 1. 0 = La table est partitionnée lorsque indid est égal à 0 ou à 1. Dans SQL Server 2005 et versions ultérieures, rowmodctr n'est pas totalement compatible avec les versions antérieures. Pour plus d'informations, consultez la section Notes. |
reserved3 |
int |
Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
reserved4 |
int |
Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
xmaxlen |
smallint |
Taille maximale d'une ligne |
maxirow |
smallint |
Taille maximale d'une ligne d'index non-feuille. Dans SQL Server 2005 et versions ultérieures, maxirow n'est pas totalement compatible avec les versions antérieures. |
OrigFillFactor |
tinyint |
Valeur d'origine du taux de remplissage utilisé lors de la création de l'index. Cette valeur n'est pas conservée ; elle peut toutefois s'avérer utile si vous devez recréer un index et si vous avez oublié le taux de remplissage utilisé. |
StatVersion |
tinyint |
Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
reserved2 |
int |
Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
FirstIAM |
binary(6) |
NULL = L'index est partitionné. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
impid |
smallint |
Indicateur d'implémentation de l'index. Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
lockflags |
smallint |
Utilisé pour limiter les granularités de verrouillage d'un index. Par exemple, une table de recherche qui est essentiellement accessible en lecture seule peut être configurée pour poser uniquement des verrous de niveau table, de façon à minimiser les coûts de verrouillage. |
pgmodctr |
int |
Retourne 0. Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
keys |
varbinary(816) |
Liste des identificateurs de colonne pour les colonnes qui constituent la clé d'index. Renvoie NULL. Pour afficher les colonnes clés d'index, utilisez sys.sysindexkeys. |
name |
sysname |
Nom de l'index ou de la statistique. Retourne la valeur NULL quand indid = 0. Modifiez votre application pour rechercher le nom d'un segment de mémoire de valeur NULL. |
statblob |
image |
Statistiques sur les objets binaires volumineux (BLOB). Renvoie NULL. |
maxlen |
int |
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
rang |
int |
Nombre de lignes de niveau données dépendant de la valeur indid = 0 et indid = 1. La valeur est reproduite pour indid >1. |
Notes
Les colonnes définies comme réservées ne doivent pas être utilisées.
Les colonnes dpages, reserved et used ne renvoient pas des résultats précis si la table ou l'index contient des données dans l'unité d'allocation ROW_OVERFLOW. De plus, les nombres de pages de chaque index sont suivis séparément et ne sont pas agrégés pour la table de base. Pour afficher les nombres de pages, utilisez les affichages catalogue sys.allocation_units ou sys.partitions, ou la vue de gestion dynamique sys.dm_db_partition_stats.
Dans SQL Server 2000 et versions antérieures, le Moteur de base de données conservait les compteurs de modifications de niveau ligne. De tels compteurs sont maintenant gérés au niveau colonne. Par conséquent, la colonne rowmodctr est calculée et fournit des résultats similaires à ceux des versions antérieures, mais qui ne sont pas exacts.
Si vous utilisez la valeur de rowmodctr pour déterminer à quel moment mettre à jour les statistiques, envisagez les solutions suivantes :
Ne rien faire. La nouvelle valeur rowmodctr vous aide souvent à déterminer à quel moment mettre à jour les statistiques, le comportement étant raisonnablement proche des résultats des versions antérieures.
Utiliser AUTO_UPDATE_STATISTICS. Pour plus d'informations, consultez Statistiques.
Utiliser une limite de temps pour déterminer à quel moment mettre à jour les statistiques. (par exemple, toutes les heures, chaque jour ou chaque semaine).
Utiliser les informations de niveau application pour déterminer à quel moment mettre à jour les statistiques. Par exemple, chaque fois que la valeur maximale d'une colonne identity varie de plus de 10 000 ou chaque fois qu'une opération d'insertion en bloc est effectuée.
Voir aussi
Référence
Affichages catalogue (Transact-SQL)
Mappage des tables système avec les vues du système (Transact-SQL)