Должен ли я реализовать все предложения по отсутствующему индексу?
Запуск отчетов панели мониторинга производительности SQL Server (хорошее имя) дает множество советов по отсутствующим индексам в моей БД. Должен ли я реализовать все это некритически? Или я должен как-то "отсортировать" их и решить, какие из них мне следует реализовать?
2 ответа
Стоит ли слепо реализовывать каждое предложение "Отсутствующий индекс", которое содержится в отчете? Нет.
Если вы посмотрите на его предложения, оцените, какие из них имеют смысл (исключит ли частое сканирование таблиц, но не перегружает сервер чрезмерно частыми обновлениями индекса), и реализуете их? Конечно (и если у вас проблемы с производительностью, абсолютно!).
Как и все предложения от программных инструментов, вы должны учитывать то, что он говорит вам, но никогда не заменяйте его собственное суждение вслепую.
Нет, сэр, вы не должны. Вместо этого используйте рекомендации в качестве отправной точки для вашего анализа.
Также учтите, что в отчетах панели мониторинга производительности будут представлены рекомендации по запросам, которые в данный момент находятся только в кэше планов. С другой стороны, отсутствующий индекс DMV будет содержать полную историю рекомендаций с момента последнего перезапуска службы SQL Server.
Чтобы узнать больше, взгляните на это превосходное учебное видео по SQLServerPedia: поиск недостающих индексов
Вы также найдете скрипты T-SQL, которые можно использовать для запроса отсутствующих индексов DMV, здесь.