Recherche de la requête à l'origine des DMV d'index manquants

Réponses:

11

Réponse courte: vous ne pouvez pas le faire avec une précision de 100%.

Réponse longue: vous pouvez interroger le cache de plan pour identifier les plans avec des avertissements d'index manquants et comparer les résultats avec ce que vous trouvez dans les DMV sys.dm_db_missing_index_ *. Voici un script que vous pouvez utiliser pour interroger le cache du plan . Si le plan n'est pas mis en cache ou est expulsé du cache pour une raison quelconque, vous ne trouverez aucune correspondance, nous sommes donc de retour à la réponse courte.

Pour être sûr à 100%, vous devez suivre la charge de travail et capturer les plans avec des index manquants. Ce n'est pas léger et ce n'est pas anodin. Voici un script pour le faire . Avec un petit effort, il pourrait être porté sur des événements étendus.

spaghettidba
la source
3

L'interrogation du cache du plan pour rechercher les index impliqués dans le calcul de la recherche des index manquants DMV peut être consultée à partir du lien collé ci-dessous:

https://www.sqlskills.com/blogs/jonathan/finding-what-queries-in-the-plan-cache-use-a-specific-index/

et reportez-vous également au lien pour plus d'explications sur le même

http://blogs.lessthandot.com/index.php/datamgmt/dbadmin/sql-server-dba-tip-missing-index-dmv/

KASQLDBA
la source