Я рекомендую осторожно использовать эту технику настройки, поскольку я обнаружил, что отсутствующие предложения по индексам, появляющиеся в планах запросов, неизменно оказываются менее надежными, поскольку запросы и схемы БД становятся все более сложными. По моему опыту, это объясняется множеством причин:
1) «Улучшение в процентах» может быть далеко не для всех, кроме простейших запросов / наиболее очевидных индексов, в конце концов, это всего лишь оценка и не зависит от фактических затрат или фактического количества строк при выполнении запроса Я видел, как после внедрения предложенного индекса стоимость запросов возрастает, или он даже не используется, и план остается прежним.
2) Сам план запроса не является оптимальным, либо из-за построения запроса (соединения и где предложение не оптимизировано и т. Д.), Либо из-за отсутствия / устаревшей статистики оценки количества строк отключены. Индексирование для крайне плохого плана запросов часто в лучшем случае является решением с бинтами, но только с постепенным улучшением производительности.
3) Возможно, вы не видите всю картину. Это особенно верно, когда используется только графический план и не просматривается XML, чтобы увидеть, было ли предложено более одного отсутствующего индекса. Тот, который показан первым в графическом плане, не обязательно оказывает наибольшее влияние на запрос.
4) Я также встречал множество примеров новых индексов, предлагаемых при модификации существующего индекса. Посмотрите другие ответы здесь относительно этого пункта, они точны, нет необходимости для меня уточнять дальше.
Я использую пропущенные предложения по индексам только в качестве отправной точки при работе с незнакомым запросом / средой, чтобы увидеть, где искать глубже. Я получил лучшие результаты, глядя на операторов в плане (главным образом, операции поиска / сканирования / объединения) и проверяя всплывающую подсказку или окно свойств, чтобы увидеть, какие столбцы задействованы, и используя это для определения кандидатов в индексы для проверки на улучшение.