sys.sysindexes (Transact-SQL)
S'applique à : SQL Server
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 tables et index partitionnés ne sont pas entièrement pris en charge dans cette vue ; utilisez plutôt la vue 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 la ou les vues système équivalentes, consultez Mappage des tables système avec les vues du système (Transact-SQL). 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. |
statut | 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é quand indid = 0. NULL = Index partitionné lors de l’indid> 1. NULL = La table est partitionnée lorsque l’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, la racine est le pointeur vers la page racine. Inutilisé quand indid = 0. NULL = Index partitionné lors de l’indid> 1. NULL = La table est partitionnée lorsque l’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 = Index partitionné lors de l’indid> 1. NULL = La table est partitionnée lorsque l’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, les pages dpages sont le nombre de pages d’index utilisées. 0 = L’index est partitionné lors de l’indid> 1. 0 = La table est partitionnée lorsque l’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, la réserve est le nombre de pages allouées pour tous les index et données de table. Pour indid> 1, réservé est le nombre de pages allouées pour l’index. 0 = L’index est partitionné lors de l’indid> 1. 0 = La table est partitionnée lorsque l’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. |
utilisé | int | Pour indid = 0 ou indid = 1, utilisé est le nombre de pages totales utilisées pour tous les index et données de table. Pour indid> 1, utilisé est le nombre de pages utilisées pour l’index. 0 = L’index est partitionné lors de l’indid> 1. 0 = La table est partitionnée lorsque l’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 au niveau des données en fonction de l’indid = 0 et de l’indid = 1. 0 = L’index est partitionné lors de l’indid> 1. 0 = La table est partitionnée lorsque l’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é lors de l’indid> 1. 0 = La table est partitionnée lorsque l’indid est égal à 0 ou 1. Dans SQL Server 2005 (9.x) et versions ultérieures, rowmodctr n’est pas entièrement 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 (9.x) et versions ultérieures, maxirow n’est pas entièrement 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. |
nom | sysname | Nom de l'index ou de la statistique. Retourne 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. |
rows | int | Nombre de lignes au niveau des données en fonction de l’indid = 0 et de l’indid = 1, et la valeur est répétée pour indid>1. |
Notes
Les colonnes définies comme réservées ne doivent pas être utilisées.
Les pages de colonnes, réservées et utilisées ne retournent pas de 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 vues de 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, les compteurs de modification au niveau des lignes Moteur de base de données gérés. De tels compteurs sont maintenant gérés au niveau colonne. Par conséquent, la colonne rowmodctr est calculée et produit des résultats similaires aux résultats dans les versions antérieures, mais ne sont pas exacts.
Si vous utilisez la valeur dans rowmodctr pour déterminer quand mettre à jour les statistiques, tenez compte des solutions suivantes :
Ne rien faire. La nouvelle valeur rowmodctr vous aidera fréquemment à déterminer quand mettre à jour les statistiques, car le comportement est 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 d’identité change de plus de 10 000, ou chaque fois qu’une opération d’insertion en bloc est effectuée.
Voir aussi
Affichages catalogue (Transact-SQL)
Mappage des tables système avec les vues du système (Transact-SQL)
sys.indexes (Transact-SQL)