Мастер-Тур:Работа со статистикой БД

Материал из Megatec
Версия от 11:30, 21 марта 2014; Chernyshov (обсуждение | вклад) (Общие рекомендации)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Введение

Высоконагруженные системы требуют своевременного проведения работ по обслуживанию. Одним из элементов таких работ является обновление статистики распределения данных в индексах БД. Более подробно о механизме обновления статистики можно посмотреть здесь Обновление статистики в Microsoft SQL Server.

Общие рекомендации

Внимание! Данные рекомендации являются общими и требуют корректировки в зависимости от конфигурации и степени загруженности системы


Статистика необходима оптимизатору выполнения запросов SQL Server для принятия решения по использованию планов выполнения запросов.
Обновление статистики можно проводить в автоматическом и(или) ручном режиме.
Для высоконагруженных систем с большим количеством данных рекомендуется комбинировать данные методы. Так как автоматическое обновление статистики проводится только после обновления более 20% данных, в случае, если, например таблица содержит 300 млн. записей автоматическое обновление произойдет только после обновления более 60 млн. записей. В некоторых случаях такая ситуация может приводит к существенной деградации общей производительности сервера по причине использования оптимизатором запросов устаревшей статистики.
С другой стороны, слишком частое обновление статистики также не является рекомендуемым по причине возможной перекомпиляции планов выполнения, а также дополнительной нагрузки на сервер.
В связи с вышеизложенным рекомендуется проводить комплексный анализ необходимости включения в план обслуживания обновления статистики на регулярной основе, но принимая во внимание и связанные с этим проблемы.