С версии 2.6 в [8.3] Управляемая консоль запросов, отчетов добавлена возможность анализировать план запроса. С 2.7 поддерживается PostgresSQL.
На момент публикации анализ планов по технологическому журналу в управляемых формах прямо из консоли был только в типовой консоли от 1С. Основные улучшения сделаны относительно нее. Хотелось сделать план запроса понятнее, быстрее — лучше.
Настройка
Для начала анализа планов запроса необходимо произвести настройку, производится один раз. Данные в технологический журнал будут писаться всегда, но только по выполнению запросов в консоли для этого лучше сделать отдельную папку.
- Открываем консоль, заходим в настройки (кнопка на командной панели)
- Раздел Технологический журнал, ставим галочку "Анализировать план запроса"
- Указываем папку куда будут сохранятся логи (папка на сервере)
- Нажимаем на ссылку "Пример файла", сохраняем
- Помещаем файл в папку %Program Files%1cv8\%ВерсияПлатформы%inconf на сервере или дополняем существующий файл логов настройками из файла
В папке не более чем через 60 секунд должны появится папки с файлам, если этого не произошло то что то не так - Сохранить настройки
Пример текста файла настройки технологического журнала:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Управляемая консоль отчетов 2.6.0 -->
<config xmlns="http://v8.1c.ru/v8/tech-log">
<dump create="false" type="0" prntscrn="false"/>
<log location="D:1C_LOG3" history="24">
<event>
<eq property="name" value="db2"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<event>
<eq property="name" value="dbmssql"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<event>
<eq property="name" value="dbpostgrs"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<event>
<eq property="name" value="dboracle"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<event>
<eq property="name" value="SDBL"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<event>
<eq property="name" value="DBV8DBEng"/>
<like property="context" value="%УправляемаяКонсольОтчетов%"/>
</event>
<property name="all"/>
<property name="sql"/>
<property name="plansqltext"/>
</log>
<plansql/>
</config>
Файл логов сильно не разрастается так как сохраняет только события консоли.
Анализ планов запроса слегка замедляет выполнение, если планы запросов не анализируются часто, лучше выключить.
После выполнения запроса на закладке результат должна появится кнопка "План…" открывающая анализ плана выполненного запроса
Анализ плана, возможности
Пример внешнего вида плана MSSQL
- Жирным шрифтом выделяется 1/4 самых дорогих строк
- Серым текстом шрифта отмечаются строки с нулевой стоимостью и строки обращения к конфигурации (обычно это инициализации значений и при повторном запуске они пропадают из плана)
- Красным текстом выделяется когда количество строк по плану и факту отличается более чем в 2 раза
- Можно сортировать по разным полям (по умолчанию сортируется по стоимости),
Свернуть все, Развернуть все - Отображается SQL запрос на соответствующей закладке
- В подвале дерева подсчитываются итоговые значения
- Запросы и планы отображаются в терминах 1С или SQL (по умолчанию 1С)
В терминах 1С означает: _Document17 будет заменено на Докумен.Приход, аналогично с полями, для значения параметров ссылок вида 0хA328382ADD… (покажет пояснение значения) - Можно анализировать планы запросов файловой базы (не знаю насколько это востребовано)
- По сравнению с анализом планов консолью ИТС здесь открытие анализа плана производится в несколько раз быстрее
- Оператор и контекст собираются отдельно
- Полная поддержка запросов (временные таблицы, параметры, пакеты)
От вас критика, предложения по улучшению
По планам запросам рекомендую посмотреть публикации:
Здорово!
А скачать где?!
(2) в самом начале статьи ссылка
Плюсую
качнуть можно где?)
(5) в самом начале статьиссылка