Partager via


sys.dm_db_missing_index_group_stats (Transact-SQL)

Retourne des informations de résumé sur les groupes d'index manquants, à l'exclusion des index spatiaux.

Nom de la colonne

Type de données

Description 

group_handle

int

Identifie un groupe d'index manquant. Cet identificateur est unique sur le serveur.

Les autres colonnes fournissent des informations sur toutes les requêtes pour lesquelles l'index du groupe est considéré comme manquant.

Un groupe d'index ne contient qu'un seul index.

unique_compiles

bigint

Nombre de compilations et de recompilations qui pourraient tirer parti de ce groupe d'index manquants. Les compilations et les recompilations de nombreuses requêtes peuvent contribuer à la valeur de cette colonne.

user_seeks

bigint

Nombre de recherches résultant de requêtes utilisateur pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

user_scans

bigint

Nombre d'analyses résultant de requêtes utilisateur pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

last_user_seek

datetime

Date et heure de la dernière recherche résultant de requêtes utilisateur pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

last_user_scan

datetime

Date et heure de la dernière analyse résultant de requêtes utilisateur pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

avg_total_user_cost

float

Coût moyen des requêtes utilisateur qui pourrait être réduit grâce à l'index du groupe.

avg_user_impact

float

Bénéfice moyen (en pourcentage) dont les requêtes utilisateur pourraient tirer parti si ce groupe d'index manquants était implémenté. Cela signifie que le coût des requêtes diminuerait, en moyenne, de la valeur de ce pourcentage si ce groupe d'index manquants était implémenté.

system_seeks

bigint

Nombre de recherches résultant de requêtes système (telles que les requêtes de statistiques automatiques) pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé. Pour plus d'informations, consultez Classe d'événements Auto Stats.

system_scans

bigint

Nombre d'analyses résultant de requêtes système pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

last_system_seek

datetime

Date et heure de la dernière recherche système résultant de requêtes système pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

last_system_scan

datetime

Date et heure de la dernière analyse système résultant de requêtes système pour lesquelles l'index recommandé du groupe pourrait avoir été utilisé.

avg_total_system_cost

float

Coût moyen des requêtes système qui pourrait être réduit grâce à l'index du groupe.

avg_system_impact

float

Bénéfice moyen (en pourcentage) dont les requêtes système pourraient tirer parti si ce groupe d'index manquants était implémenté. Cela signifie que le coût des requêtes diminuerait, en moyenne, de la valeur de ce pourcentage si ce groupe d'index manquants était implémenté.

Notes

Les informations retournées par sys.dm_db_missing_index_group_stats sont mises à jour par chaque exécution de requête, et non par chaque compilation ou recompilation de requête. Les statistiques d'utilisation ne sont pas conservées de manière permanente ; elles sont simplement conservées jusqu'au redémarrage de SQL Server. Les administrateurs de base de données doivent effectuer régulièrement des copies de sauvegarde des informations sur les index manquants s'ils souhaitent conserver les statistiques d'utilisation après le recyclage du serveur.

Pour plus d'informations sur l'activation et la désactivation de la collecte des informations sur les index manquants, consultez À propos de la fonctionnalité d'index manquants.

Pour plus d'informations sur les limitations de cette fonctionnalité, consultez Limitations de la fonctionnalité d'index manquants.

Pour plus d'informations sur la cohérence des transactions par rapport aux objets de gestion dynamique des index manquants, consultez À propos de la fonctionnalité d'index manquants.

Autorisations

Pour interroger cette vue de gestion dynamique, les utilisateurs doivent bénéficier de l'autorisation VIEW SERVER STATE ou de tout privilège qui implique l'autorisation VIEW SERVER STATE.

Exemples

Les exemples suivants illustrent l'utilisation de la vue de gestion dynamique sys.dm_db_missing_index_group_stats.

A. Trouvez les 10 index manquants qui devraient générer l'amélioration la plus importante pour les requêtes utilisateur

La requête suivante détermine les 10 index manquants qui génèreraient l'amélioration cumulée la plus importante, par ordre décroissant, pour les requêtes utilisateur.

SELECT TOP 10 *
FROM sys.dm_db_missing_index_group_stats
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;

B. Trouvez les différents index manquants et les détails de leurs colonnes pour un groupe d'index manquants spécifique

La requête suivante détermine quels index manquants constituent un groupe d'index manquants spécifique et affiche les détails de leurs colonnes. Dans le cadre de cet exemple, le descripteur du groupe d'index manquants est 24.

SELECT migs.group_handle, mid.*
FROM sys.dm_db_missing_index_group_stats AS migs
INNER JOIN sys.dm_db_missing_index_groups AS mig
    ON (migs.group_handle = mig.index_group_handle)
INNER JOIN sys.dm_db_missing_index_details AS mid
    ON (mig.index_handle = mid.index_handle)
WHERE migs.group_handle = 24;

Cette requête fournit le nom de la base de données, du schéma et de la table où un index est manquant. Elle fournit également le nom des colonnes devant être utilisées pour la clé d'index. Lors de l'écriture de l'instruction DDL CREATE INDEX pour implémenter les index manquants, indiquez tout d'abord les colonnes d'égalité, puis les colonnes d'inégalité dans la clause ON <table_name> de l'instruction CREATE INDEX. Les colonnes incluses doivent être indiquées dans la clause INCLUDE de l'instruction CREATE INDEX. Pour déterminer un ordre efficace pour les colonnes d'égalité, organisez ces colonnes en fonction de leur sélectivité, en répertoriant d'abord les colonnes les plus sélectives (les colonnes de gauche dans la liste des colonnes).

Pour plus d'informations sur l'utilisation des informations retournées par ces objets de gestion dynamique afin d'écrire des instructions DDL CREATE INDEX, consultez Utilisation des informations d'index manquant pour l'écriture d'instructions CREATE INDEX.