Регламентные операции на уровне СУБД для MS SQL Server
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Настройка регламентных операций не доступна в Express версии СУБД.

По опыту, самыми распространенными причинами неоптимальной работы SQL-сервера являются:

1. Неактуальная статистика о распределении значений и индексов в таблице базы данных.

2. Устаревание процедурного КЭШа планов запросов.

3. Высокая фрагментация индексов таблиц.

4. Периодическая необходимость в перестроении всех индексов таблиц.

 

Теперь по порядку.

A. Обновление статистики

       MS SQL, как и другие современные СУБД, имеют механизм оптимизации запросов к базе данных на основе собранной статистики распределения значений в таблицах и индексах. Оптимизатор SQL, анализируя собранную статистику, выбирает наиболее эффективный план запроса, исключая нерациональные выборки данных.

       Достаточно интенсивная работа с базой данных снижает актуальность собранной статистики что не позволяет оптимизатору создавать оптимальные запросы к БД. Поэтому необходимо проводить обновление статистик. Делается это с помощью следующей команды:

Exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN'

 

          Наибольшее влияние статистики распределения данных на производительность СУБД можно увидеть с применением вложенных запросов. Если платформа 1С: Предприятие 8.x сформирует запрос к SQL-базе многоуровневой вложенности, плюс к этому еще и соединением двух вложенных запросов, то можно утверждать, что скорость его работы напрямую зависит от актуального состояния собранной статистики.Для поддержки статистик в актуальном состоянии рекомендуется создать регламентное задание, которое будет производить обновление статистик в указанное время. Поскольку данный процесс не блокирует таблицы БД, то его можно запускать практически в любое время.          Если возникнет необходимость обновления статистик несколько раз за сутки в связи с режимом работы базы, то рекомендуется разбить этот процесс на несколько частей. Анализ планов запросов позволит определить таблицы, которые нуждаются в частом обновлении статистик, чем остальные. Далее разделить процесс на две задачи: несколько раз в сутки обновлять статистику распределения значений для наиболее используемых таблиц, и раз в сутки для всех остальных. Чтобы создать регламентное задание на обновление статистики нужно перейти в «управление» -> «Планы обслуживания» -> «Создать план обслуживания…» далее надо ввести его имя. Откроется меню конструирования нашего плана Теперь нам надо добавить вложенный план, который назовем «Обновление статистики» затем в панели элементов найти «Задача "Обновление статистики"» и перенести ее на план обслуживания Далее нажмем правой кнопкой мыши на нашу задачу и выберем пункт «Изменить…» и настроим для каких баз будет отрабатываться данная задача Жмем “ОК”. Теперь нам осталось только создать расписание для нашего задания и сохранить его.

Дата: 2019-05-28, просмотров: 203.