Znalezienie zapytania powodującego brakujące indeksy DMV

Odpowiedzi:

12

Krótka odpowiedź: nie możesz ze 100% dokładnością.

Długa odpowiedź: możesz wyszukać w pamięci podręcznej planu, aby zidentyfikować plany z brakującymi ostrzeżeniami o indeksie i porównać wyniki z tym, co znajdziesz w sys.dm_db_missing_index_ * DMV. Oto skrypt, którego można użyć do zapytania o pamięć podręczną planu . Jeśli z jakiegoś powodu plan nie zostanie zapisany w pamięci podręcznej lub zostanie wypchnięty z pamięci podręcznej, nie znajdziesz żadnych dopasowań, więc wrócimy do krótkiej odpowiedzi.

Aby mieć 100% pewności, musisz prześledzić obciążenie i uchwycić plany z brakującymi indeksami. Nie jest lekki i nie jest trywialny. Oto skrypt, aby to zrobić . Przy niewielkim wysiłku można go przenieść do wydarzeń rozszerzonych.

spaghettidba
źródło
3

Kwerendę w pamięci podręcznej planu w celu wyszukania indeksów uczestniczących w obliczeniach dotyczących znalezienia brakujących indeksów DMV można znaleźć na podstawie wklejonego linku:

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

i zapoznaj się również z linkiem, aby uzyskać więcej wyjaśnień na ten sam temat

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

KASQLDBA
źródło