Суть проста: в каждый запрос 1С добавляем текстовое поле с идентификатором. Можно использовать строкового (например, КодИБ_ИдЗапроса) или для уменьшения объема генерируемых данных использовать числовые идентификаторы (необходимо иметь таблицу соответствий: код – описание запроса). Запрос с идентификатором будем называть помеченным запросом. Для удобства мониторинга, желательно идентификатор делать первым полем в запросе. При оптимизации «тяжелого» запроса рекомендую изменять идентификатор.
Это просто пример,
З = Новый Запрос("ВЫБРАТЬ
| ""ЭтоНашИдентификаторЗапроса_версии1"" КАК Поле1,
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Наименование = &Наименование") ;
Теперь мы можем «родными» средствами статистики MS SQL проводить анализ и мониторинг постоянно в реальном времени, причем комплексно – сразу по всем базам на сервере. На рисунке ниже выделен запрос до (_2) и после оптимизации(_4).
Сам я использую свою обработку //infostart.ru/public/145342/, в которой вы можете найти отчет «Нагрузка на сервере БД» который сообщит, вам какие запросы нагружали сервер больше всего за последний час работы. Период можно изменить в макете «НагружающиеЗапросы»: set @hours = 1; .
avg_elapsed – среднее время на выполнение плана запроса
total_elapsed_time – общее время затраченное на выполнение плана
exec_count – количество выполнений плана
К сожалению, в данном методе мы не можем пометить некоторые запросы, например, генерируемые 1с при работе с объектной моделью (к счастью, они обычно просто определяются). Так же некоторые проблемы доставляет компилятор запросов, генерируя из вложенных запросов пакеты, но от этого можно избавиться, переписав сложные запросы или помечая эти подзапросы. Главный из минусов это сложность обновлений модифицированных запросов.
Для автоматизации идентификации запросов можете исппользовать обработку (черновой вариант):
- выгружаем файлы конфигурации в каталог
- запускаем обработку, указываем в ней каталог куда выгрузили, жмем загрузить и выполнить
- двойной клик мыши на записи отображает сравнение файлов
- загружаем файлы конфигурации, корректируем