При анализе запроса на языке SQL или плана выполнения запроса основную сложность вызывают представления таблиц и полей в терминах базы данных. Учитывая что наименования таблиц БД не несут особой логической и смысловой нагрузки, то выполнение анализа представляет собой сложную задачу. Мы в процессе оптимизации конфигураций на платформе 1С под СУБД MS SQL и Pstgres написали простую, но многократно облегчающую данную работу обработку. Она значительно повышает скорость и удобство решения подобных задач. Также мы будем использовать этот инструмент в последующих статьях посвященных вопросам анализа и решения проблем быстродействия.
Обработка является частью Фреймворка "Мониторинг производительности" - https://github.com/Polyplastic/1c-parsing-tech-log.
Внимание! Запускать обработку для анализа обязательно в целевой базе и конфигурации!
Возможности:
- Преобразование текстов запросов на языке SQL в представление языка запросов 1С. Выполняет замену наименований таблиц и полей на представления таблиц и реквизитов метаданных конфигурации 1С. При желании некоторые простые случаи можно будет запустить в консоли запросов. Большая часть потребует ручной правки, а некоторые сложные скорее всего не получится преобразовать из-за ограничений языка 1С.
Процесс работы простой. Вставляете текст запроса из логов технологического журнала, профайлера MS SQL или лога базы Postgres. Жмете кнопку "преобразовать".
- Преобразование текстов планов запросов MS SQL и Postgres. Выполняет преобразование подстановкой таблиц, реквизитов и наименований индексов в тексты планов запросов. Для планов запросов реализован интерфейс передачи и получения ссылки на веб-ресурс анализа планов запросов https://explain.tensor.ru/.
Процесс работы заключается в следующем - вставляете текст плана Postgres или план MS SQL, указывайте флаг "это план запроса" и жмете кнопку преобразовать.
Если это план запроса Postgres, то после выполнения преобразования жмите на кнопку "Explain план запроса" и переходите по ссылке.
Если это план запроса MS SQL, то данные из файла плана помещаете в поле "текст запроса SQL", преобразуете, а затем результат преобразования файла сохраняете в новом файле формата "SQLPlan". Затем открываете в "SQL Sentry Plan Explorer".
Пример формы преобразования плана запроса.
На рисунках ниже приведены примеры планов запросов в формате. На первом приведен пример для MS SQL Server.
Представление плана запроса для Postgres
- Поиск и просмотр таблицы представлений в терминах БД и конфигурации 1С. Доступна таблица поиска и навигации по связи представлениям терминов БД и названий метаданных языка 1С.
Полезные ссылки:
- Фреймворк "Мониторинг производительности". Руководство пользователя
- Тут можно скачать последнюю версию конфигурации. Решение проблемы быстродействия в ERP на рабочем примере
- 5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С
- Фреймворк "Мониторинг производительности" - https://github.com/Polyplastic/1c-parsing-tech-log
- Анализ проблем производительности по динамике мониторинга RAS 1C
Обработка протестирована на платформе 1С 8.3.16 и 8.3.19.