Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Retourne des informations sur les colonnes de table de base de données qui manquent un index.
sys.dm_db_missing_index_columns est une fonction de gestion dynamique.
Syntax
sys.dm_db_missing_index_columns(index_handle)
Arguments
index_handle
Il s'agit d'un entier qui identifie de manière unique un index manquant. Il peut être obtenu à partir des objets de gestion dynamique suivants :
sys.dm_db_missing_index_details (Transact-SQL)
sys.dm_db_missing_index_groups (Transact-SQL)
Table retournée
| Nom de la colonne | Type de données | Description |
|---|---|---|
| column_id | int | Identificateur de la colonne. |
| column_name | sysname | Nom de la colonne de la table. |
| column_usage | varchar(20) | Indique la manière dont la colonne est utilisée par la requête. Les valeurs possibles et leurs descriptions sont les suivantes : ÉGALITÉ : Colonne contribue à un prédicat qui exprime l’égalité, de la forme : table.column = constant_value INÉGALITÉ : La colonne contribue à un prédicat qui exprime l’inégalité, par exemple, un prédicat de la forme : table.column>constant_value. Tout opérateur de comparaison autre que "=" exprime l'inégalité. INCLUDE : La colonne n’est pas utilisée pour évaluer un prédicat, mais elle est utilisée pour une autre raison, par exemple, pour couvrir une requête. |
Remarques
Les informations retournées par sys.dm_db_missing_index_columns sont mises à jour lorsqu’une requête est optimisée par l’optimiseur de requête et n’est pas conservée. Les informations d’index manquantes sont conservées uniquement tant que le moteur de base de données n’est pas redémarré. 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 les conserver après le recyclage du serveur. 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.
Cohérence transactionnelle
Si une transaction crée ou supprime une table, les lignes qui contiennent les informations d'index manquants concernant les objets supprimés sont retirées de cet objet de gestion dynamique, ce qui permet de préserver la cohérence des transactions.
Permissions
Les utilisateurs doivent se voir accorder la VIEW permission SERVER STATE ou toute permission impliquant la VIEW permission SERVER STATE pour interroger cette fonction de gestion dynamique.
Autorisations pour SQL Server 2022 et versions ultérieures
Nécessite VIEW une autorisation ÉTAT DE PERFORMANCE DU SERVEUR sur le serveur.
Examples
L'exemple suivant exécute une requête sur la table Address puis exécute une requête à l'aide de la vue de gestion dynamique sys.dm_db_missing_index_columns pour renvoyer les colonnes de table auxquelles il manque un index.
USE AdventureWorks2022;
GO
SELECT City, StateProvinceID, PostalCode
FROM Person.Address
WHERE StateProvinceID = 9;
GO
SELECT mig.*, statement AS table_name,
column_id, column_name, column_usage
FROM sys.dm_db_missing_index_details AS mid
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle
ORDER BY mig.index_group_handle, mig.index_handle, column_id;
GO
Les suggestions d’index manquantes doivent être combinées si possible avec les autres et avec des index existants dans la base de données active. Découvrez comment appliquer ces suggestions dans l’optimisation des index non cluster avec des suggestions d’index manquantes.
Contenu connexe
- Optimiser les index non clusterisés à l’aide des suggestions d’index manquants
- sys.dm_db_missing_index_details (Transact-SQL)
- sys.dm_db_missing_index_groups (Transact-SQL)
- sys.dm_db_missing_index_group_stats (Transact-SQL)
- sys.dm_db_missing_index_group_stats_query (Transact-SQL)
- sys.dm_os_sys_info (Transact-SQL)