Должен ли я реализовать все предложения по отсутствующему индексу?

Запуск отчетов панели мониторинга производительности SQL Server (хорошее имя) дает множество советов по отсутствующим индексам в моей БД. Должен ли я реализовать все это некритически? Или я должен как-то "отсортировать" их и решить, какие из них мне следует реализовать?

2 ответа

Решение

Стоит ли слепо реализовывать каждое предложение "Отсутствующий индекс", которое содержится в отчете? Нет.

Если вы посмотрите на его предложения, оцените, какие из них имеют смысл (исключит ли частое сканирование таблиц, но не перегружает сервер чрезмерно частыми обновлениями индекса), и реализуете их? Конечно (и если у вас проблемы с производительностью, абсолютно!).

Как и все предложения от программных инструментов, вы должны учитывать то, что он говорит вам, но никогда не заменяйте его собственное суждение вслепую.

Нет, сэр, вы не должны. Вместо этого используйте рекомендации в качестве отправной точки для вашего анализа.

Также учтите, что в отчетах панели мониторинга производительности будут представлены рекомендации по запросам, которые в данный момент находятся только в кэше планов. С другой стороны, отсутствующий индекс DMV будет содержать полную историю рекомендаций с момента последнего перезапуска службы SQL Server.

Чтобы узнать больше, взгляните на это превосходное учебное видео по SQLServerPedia: поиск недостающих индексов

Вы также найдете скрипты T-SQL, которые можно использовать для запроса отсутствующих индексов DMV, здесь.

Другие вопросы по тегам