sys.dm_db_index_usage_stats (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Renvoie le nombre des différents types d'opérations d'index et l'heure d'exécution de chaque opération.
Dans Azure SQL Database, les vues de gestion dynamique ne peuvent pas exposer des informations qui auraient un impact sur le confinement de la base de données ou exposer des informations sur d’autres bases de données auxquelles l’utilisateur a accès. Pour éviter d’exposer ces informations, chaque ligne qui contient des données qui n’appartiennent pas au locataire connecté est filtrée.
Remarque
La vue dynamique sys.dm_db_index_usage_stats
ne retourne pas d’informations sur les index à mémoire optimisée ou les index spatiaux. Pour plus d’informations sur l’utilisation de l’index optimisé en mémoire, consultez sys.dm_db_xtp_index_stats (Transact-SQL).
Remarque
Pour appeler cette vue à partir d’Azure Synapse Analytics ou d’Analytics Platform System (PDW), utilisez sys.dm_pdw_nodes_db_index_usage_stats
. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Nom de la colonne | Type de données | Description |
---|---|---|
database_id | smallint | ID de la base de données sur laquelle la table ou la vue est définie. Dans la base de données Azure SQL, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas dans un serveur logique. |
object_id | int | ID de la table ou de la vue sur laquelle l'index est défini. |
index_id | int | Identificateur de l'index. |
user_seeks | bigint | Nombre de recherches par requête utilisateur. |
user_scans | bigint | Nombre d’analyses effectuées par les requêtes utilisateur qui n’utilisaient pas le prédicat « seek ». |
user_lookups | bigint | Nombre de recherches de signets par les requêtes utilisateur. |
user_updates | bigint | Nombre de mises à jour par requête utilisateur. Cela inclut l’insertion, la suppression et les mises à jour représentant le nombre d’opérations effectuées et non les lignes réelles affectées. Par exemple, si vous supprimez 1 000 lignes dans une instruction, ce nombre incrémente de 1 |
last_user_seek | datetime | Heure de la dernière recherche de l’utilisateur |
last_user_scan | datetime | Heure de la dernière analyse utilisateur. |
last_user_lookup | datetime | Heure de la dernière recherche utilisateur. |
last_user_update | datetime | Heure de la dernière mise à jour utilisateur. |
system_seeks | bigint | Nombre de recherches par requête système. |
system_scans | bigint | Nombre d'analyses par requête système. |
system_lookups | bigint | Nombre de recherches par requêtes système. |
system_updates | bigint | Nombre de mises à jour par requête système. |
last_system_seek | datetime | Heure de la dernière recherche système. |
last_system_scan | datetime | Heure de la dernière analyse système. |
last_system_lookup | datetime | Heure de la dernière recherche système. |
last_system_update | datetime | Heure de la dernière mise à jour système. |
pdw_node_id | int | S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW) Identificateur du nœud sur lequel cette distribution est activée. |
Notes
Chaque recherche, analyse ou mise à jour individuelle sur l'index spécifié par l'exécution d'une requête, est comptée comme utilisation de cet index et augmente d'une unité le compteur correspondant dans cette vue. Les informations sont renvoyées pour les opérations générées par des requêtes soumises par l'utilisateur et pour les opérations générées par des requêtes internes, telles que des analyses pour le recueil de statistiques.
La user_updates
colonne est un compteur de maintenance sur l’index provoqué par des opérations d’insertion, de mise à jour ou de suppression sur la table ou la vue sous-jacente. Vous pouvez utiliser cette vue pour déterminer les index qui ne sont que peu utilisés par vos applications. Vous pouvez également l'utiliser pour déterminer les index qui entraînent une surcharge à cause des traitements de maintenance. Vous envisagerez peut-être de supprimer les index qui entraînent une surcharge de maintenance mais qui ne sont pas utilisés pour des requêtes, ou peu fréquemment.
Les compteurs sont initialisés pour être vides chaque fois que le moteur de base de données est démarré. Utilisez la colonne sqlserver_start_time
dans sys.dm_os_sys_info pour rechercher la dernière heure de démarrage du moteur de base de données. En outre, si une base de données est détachée ou arrêtée (par exemple parce qu'AUTO_CLOSE a la valeur ON), toutes les lignes associées à la base de données sont supprimées.
Lorsqu’un index est utilisé, une ligne est ajoutée sys.dm_db_index_usage_stats
si une ligne n’existe pas déjà pour l’index. Quand la ligne est ajoutée, ses compteurs sont à zéro.
Pendant la mise à niveau vers SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x), les entrées sont sys.dm_db_index_usage_stats
supprimées. À compter de SQL Server 2016 (13.x), les entrées sont conservées, car elles étaient antérieures à SQL Server 2008 R2 (10.50.x).
autorisations
Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE
est requise.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans les pools élastiques, le compte d’administration du serveur, le compte d’administration Microsoft Entra ou l’appartenance dans ##MS_ServerStateReader##
au rôle de serveur est requis. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE
sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader##
est requise.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Voir aussi
Fonctions et vues de gestion dynamique associées à l’index (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Surveillance et réglage des performances