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

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

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

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

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

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