sys.dm_db_missing_index_columns (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Retourne des informations sur les colonnes de table de base de données qui ne disposent pas d’un index. sys.dm_db_missing_index_columns
est une fonction de gestion dynamique.
Syntaxe
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É : La colonne contribue à un prédicat qui exprime l’égalité, sous la forme suivante : table.column = constant_value INÉGALITÉ : La colonne contribue à un prédicat qui exprime une 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. |
Notes
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 jusqu’à ce que le moteur de base de données soit 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.
Autorisations
Les utilisateurs doivent bénéficier de l'autorisation VIEW SERVER STATE ou de toute autorisation qui implique l'autorisation VIEW SERVER STATE pour interroger cette fonction de gestion dynamique.
Autorisations pour SQL Server 2022 et versions ultérieures
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Exemples
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, dans la mesure du possible, entre elles et avec les index existants dans la base de données active. Découvrez comment appliquer ces suggestions dans ajuster les index non cluster avec des suggestions d’index manquantes.
Étapes suivantes
Pour en savoir plus sur la fonctionnalité d’index manquant, consultez les articles suivants :
- Paramétrer les index non-cluster avec les 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)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour