Обслуживание индексов SQL Server без лишней работы
Перестроение всех индексов по фиксированному расписанию расходует CPU, ввод-вывод, журнал и окно обслуживания без гарантированной пользы.
Обслуживание индексов SQL Server без лишней работы
Перестроение всех индексов по фиксированному расписанию расходует CPU, ввод-вывод, журнал и окно обслуживания без гарантированной пользы.
Что измерять
Оценивайте число страниц, плотность, фрагментацию, объем изменений, шаблоны чтения, длительность и влияние на журнал. Фрагментация маленького или неиспользуемого индекса редко важна.
Практический подход
Исключите маленькие и неиспользуемые индексы. Выбирайте rebuild или reorganize по фактической нагрузке и отдельно управляйте статистикой. Контролируйте блокировки, задержку реплик, резервные копии журнала и хранилище.
Чего следует избегать
Не считайте 5 и 30 процентов универсальными порогами. Не выполняйте регулярный shrink и перестроение индексов, которые не читаются.
Эксплуатационный результат
Правильное обслуживание адаптивно, наблюдаемо и может ничего не делать, если индексам не требуется вмешательство.
Проверка перед production
Зафиксируйте исходные показатели и определите ожидаемое улучшение. Проверьте решение на репрезентативных данных и при реальной параллельной нагрузке. Сохраните исходную настройку или план, подготовьте откат и наблюдайте следующий обычный пик нагрузки.
Чтобы применить этот подход к конкретной среде SQL Server, используйте форму ниже и укажите версию SQL Server, размер базы, профиль нагрузки и уже собранные данные.