Настройка SQL: Поиск операторов для отсутствующих индексов

 Недостающие индексы являются важной частью стратегии индексирования. Обычно я начинаю с sys .dm_db_index_usage_stats, чтобы найти как неэффективные, так и неиспользуемые индексы, а затем дополняю их отсутствующими индексами.

Отсутствующие индексы DMV-это здорово, но они всегда чего-то не хватали.

Чего им не хватает, спросите вы? В настоящее время они говорят вам, для какой таблицы они предназначены, но не для какого запроса. Как узнать, являются ли запросы, которые спонсировали этот отсутствующий индекс, критически важными для бизнеса или нет? Разве не было бы неплохо узнать, какие утверждения вызвали появление этого "отсутствующего индекса"?

Вы можете знать или не знать, что вы можете использовать xquery для запроса ваших планов запросов xml из кэша. Если вы уже знакомы с этой концепцией, то это должно быть очень быстро понято. Если нет, не волнуйтесь. Xquery действительно прост.

Мы можем запросить наши кэшированные планы с помощью DMV sys.dm_exec_cached_plansПрисоединение к sys.dm_exec_query_plan дает нам план запроса XML, и затем мы можем выполнить запрос в этом XML со следующим утверждением. В этом примере выполняется поиск планов, имеющих отсутствующий индекс для адресной таблицы.