Оптимизация запросов


Тестирование и проверка прироста производительности при изменении текста запроса.

Физический смысл:

     Обработка выполняет на различных параметрах 2 запроса (исходный и доработанный) — с тем, чтобы оценить их результаты по количеству и составу возвращаемых строк.

 

А. Вкладка "Основное":

 

1. Вкладка "Основное" — содержит сведения, необходимые для управления функционалом и отображения результатов работы

2. Область исходного запроса. Содержит непосредственно текст запроса и кнопки "Проверить" (для проверки синтаксиса запроса) и "Конструктор запроса" (вызывает функциональность резактирования текста запроса в стандартном конструкторе запроса 1С)

3. Область доработанного запроса. Аналогично п.2

4. Область настроки параметров выполнения экспериментов.

     4.1.  — запускает механику сравнения. Причем, если обработка загружена в информационную базу, посредством типовой подсистемы "Дополнительные отчеты и обработки", то выполнение происходт в фоне

     4.2.  Групповое управление пометками в таблице. Кнопка "Установить" — устанавливает пометки во всех строках, "Снять" — снимает пометки

     4.3.  Автоматическое заполнение таблицы параметров из запроса.

          4.3.1. Кнопка "Текст запроса" открывает форму редактирования текста запроса, заполняющего таблицу параметров (Подробнее в разделе Б.)

          4.3.2. Кнопка "Заполнить" — выполняет запрос из раздела Б. и заполняет в таблице параметров колонку "Параметры".

     4.4. Кнопка "Очистить" — удаляет все строки из таблицы параметров

     4.5 Таблица параметров

          4.5.1. Колонка с флажками, если в строке установлен флажек — это значит, что данная строка параметров будет учавствовать в механизме сравнения запросов

          4.5.2. Колонка "Параметры" — содержит набор параметров, используемых в обоих запросах. Можно редактировать вручную 

          4.5.3. Колонка "Запрос №1 (исходный)" — содержит сведения, полученные в результате выполнения механизма (факт успешного выполнения запроса с указанными параметрами , количество строк результата запроса и время его выполнения)

          4.5.4. Колонка "Запрос №2 (доработанный)" — Аналогично п. 4.5.3

          4.5.5. Колонка "Прирост" — прировст производительности в процентах. Если доработанный запрос выполняется медленнее исходного — отобразится отрицательное число

          4.5.6. В подвале таблицы отображаются средние арифметические заначения времени выполнения запросов и прироста производительности.

 

Б. Форма редактирования текста запроса

1. Кнопка "ОК" — сохранение текста запроса

2. Кнопка "Отмена" — закрывает форму без сохранения текста запроса

3. Кнопка "Проверить"  — для проверки синтаксиса запроса

4. Кнопка "Конструктор запроса" — вызывает функциональность резактирования текста запроса в стандартном конструкторе запроса 1С

5. Поле текста запроса

 

В. Вкладка "Настройки"

1. Кнопка "Сохранить" — позволяет сохранить все настройки обработки, включаю тексты обоих запросов и таблицы параметров. Настроки сохраняются в файл с расширением "*.cqsettings".

2. Кнопка "Загрузить" — загружает настройки из внешнего файла "*.cqsettings".

3. Флаг "Использовать выгрузку результатов в файлы" — включет механизм выгрузки результатов запросов в хml-файлы. Полезно использовать, когда оба сравниваетмых запроса возвращают одинаковое количество записей, но существует вероятность что строки результатов запросов могут различаться. То есть, выгрузив результаты запросов во внешние [ml-файлы можно в далбнейшем сравнить их по сожержимому (например Total Commander, Araxis Merge и пр.).

     3.1. Примечание: Если флаг установлен, то в таблице параметров появляется дополнительная колонка (пометить для выгрузки в файл), а в командной панели кнопки  (для группового управления пометками выгрузки). То есть,      у пользователя появляется возможность выгружать в xml-файлы результаты запросов выборочно.

4. Поле "Каталог результов" — путь к папке, в которой будут созданный xml-файлы выгрузки результатов запросов

5. Поле "Имя файла для запроса №1" — имя xml-файла выгрузки для результатов исходного запроса

6. Поле "Имя файла для запроса №2" — имя xml-файла выгрузки для результатов доработанного запроса

     6.1. Примечание: Нажатие на "педальку"  открывает ткрыть список выбора существующих xml-файлов

 

Г. Примерный использования обработки

1. Имеем запрос с параметрами, который необходимо опртимизировать

2. Помещает исходный запросв в поле исходного запроса

3. Дорабатываем исходный запрос и помещает новый текст запроса в поле доработанного запроса

4. Отключаем флаг "Использовать выгрузку результатов в файлы" (на вкладке настроки)

5. Заполняет таблицу параметров необходимым количеством наборов параметров (либо ручками, либо используем заполнение с помощью запроса)

6. Устанавливаем флаги напротив необходимых строк таблицы параметров. Запустить сверку запросов!!!

7. Изучаем таблицу параметров (она теперь заполнена целиком). Путем редактирования текста 2го запроса, необходимо добиться, чтобы все запросы на всех наборах параметров успешно выполнились и количество строк в их результатах совпадало. Ну и процент прироста производительности имеет положительное значение

8. Установить флаг "Использовать выгрузку результатов в файлы" (на вкладке настроки). Указать расположение и имена xml-файлов выгрузки

9. Устанавливаем флаги выгрузки в xml-файл напротив необходимых строк таблицы параметров. Запустить сверку запросов!!!

10. С помощью строннего ПО сравниваем выгруженные файла по содержимому. Если файли идентичны, то поздравляю, запрос успешно оптимизирован

Дополнительно:

Обработка тестировалась на платформе 8.3.5. Работает на конфигурациях, основанных на БСП, либо потребуется незначительная доработка

3 Comments

  1. arsvlg

    Перечитал два раза. Скачивать желания не возникло. Может я не уловили сути конечно. :)))

    Автор, много ошибок в тексте, читать не приятно

    Reply
  2. Synoecium

    идея интересная, но реализация очень сырая. Кто полезет сравнивать xml файлы, да еще и сторонними средствами. Вот если бы в форме подсвечивались расхождения в таблицах результатов, то был бы толк (примерно как в типовой сравнивалке двух текстов).

    Reply
  3. Pistolierro

    (2) Сравение текста — это целая наука, и существует много специальных программ. Я решил, что не рационально нагромождать этим служебную обработку. Да и наверняка у каждого специалиста какая то программка более привычная и настроенная.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *