Консоль запросов для больших баз данных (БД)

28.06.16

Разработка - Инструментарий разработчика

Самая обычная консоль запросов для толстого клиента, но обладающая некоторыми специальными возможностями для отладки и сверки сложных запросов, которые выбирают большие объёмы данных.
А именно:
-Сохранение результата запроса в файл;
-Возможность выборки из сохраненного файла;
-Замеры времени выполнения отдельных временных таблиц в запросе;
-Подготовка текста запроса к помещению в модуль;
-Проверка запроса на не уничтоженные временные таблицы;

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
КонсольЗапросов
.epf 45,31Kb ver:1.0
23
23 Скачать (1 SM) Купить за 1 850 руб.

В последнее время очень регулярно приходится писать\переписывать\дописывать сложные запросы, содержащие в себе море расчётов. Но хуже всего, что данные запросы вытягивают большие объемы данных, и время выполнения порой затягивается на минуты и десятки минут. И тут я оснастил свою консоль инструментами, которые помогают мне с комфортом решать ряд задач. 

1. Например, у меня есть какой-то отчет (запрос), который мне нужно оптимизировать. Я пишу свой, новый запрос. Который работает быстрее. Но мне надо убедиться, что результат идентично правильный. Что делать?

Сначала я беру старый запрос и выгружаю его результат в файл.

А затем то же самое делаю с новым запросом. 

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

 Пример выборки из файлов с ТЗ

 

2. Встречаются мне такие запросы, в которых очень много выборок во временные таблицы, ввиду наличия сложных расчётов и большого количества полей в конечной таблице. Да и сам такие запросы порой вынужден писать.

Когда объем данных вырастает на порядки, такие запросы иногда начинают тормозить.

Чтобы понять, в какой именно части запроса "слабое звено", - запускаем замер. Желательно ограничить в разумных пределах результат выборки, чтобы не ждать по полдня (смотря, конечно, насколько долго выполняется запрос). И получаем в результате время выполнения каждой временной таблицы.

Замер времени выполнения временных таблиц запроса 

3. Подготовка текста запроса к помещению в модуль.

Случается так, что текст запроса очень большой и содержит в себе двойные кавычки. Такие запросы, как правило, быстро в текст модуля не поместишь, если не пользуешься конструктором запроса (ввиду сложности и невозможности восприятия всей последовательной логики текста в конструкторе), для таких целей и реализована простенькая функция подготовки текста к помещению в модуль.

Подготовка текста запроса к помещению в модуль

 

4. В тех же самых длинных запросах, которые растягиваются на тысячи строк, не всегда можно с легкостью визуально отследить - все ли временные таблицы своевременно уничтожаются.

Для этих целей я также сделал кнопочку, которая выдаст Вам список временных таблиц, которые не были уничтожены. Это сэкономит Ваше время и сократит размеры tempdb на SQL сервере. (Для тех, кому невыгодно из-за производительности использовать менеджер временных таблиц).

Проверка на наличие не уничтоженных временных таблиц

Консоль сложные запросы оптимизация сверка

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    170198    940    403    

907

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    13203    100    46    

104

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26819    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    16963    41    15    

75

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190755    1151    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11483    40    27    

66

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    953    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    104010    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vec435 17 30.06.16 09:41 Сейчас в теме
интересно, в каком модуле работает конструкция "Выбрать ... Из [File]"
2. ixilimuse 193 30.06.16 11:04 Сейчас в теме
(1) vec435, Добрый день, если я правильно понял Ваш вопрос, то все прописано в модуле формы консоли.
Перед непосредственным выполнением запроса, я просто ищу в тексте данную конструкцию, разбираю её на 2 компонента: Параметр, ПутьКФайлу.
Затем подменяю данную конструкцию на параметр, в который далее помещаю считанную из файла таблицу значений. И после уже идет стандартный код выполнения запроса, описанный до моего вмешательства))

p.s. Ссори, в публикации не рассмотрел детально данный нюанс.
Данная строка состоит из двух частей, разделяется строкой: "<+>"
То что стоит до разделителя - это то как будет называться параметр, в который будет помещена таблица значений. И из которого собственно будет производиться выборка.
А то что стоит после разделителя - путь к файлу, который был ранее сохранен из этой же консоли (либо с помощью любой своей обработки). Файл должен содержать таблицу значений в формате 1С.
3. necropunk 11 30.06.16 11:11 Сейчас в теме
(2) с файлом идея интересная. А чем не устроила консоль из "Инструментов Разработчика", например?
4. ixilimuse 193 30.06.16 11:40 Сейчас в теме
(3) necropunk, инструменты разработчика мне очень нравятся и я очень уважаю труды создателя :)
Но так сложилось исторически, мою гряду запросов я начал сопровождать в старой, стандартной консоли ещё до того как узнал про "ИР".
Качал ИР, немного смотрел - классно там все. Но в силу привычки и уже настроенного sel файла так и не перешёл тогда.

В день когда публиковал этот пост, в очередной раз скачал свежую версию ИР. Хочу ещё раз пощупать. А то уж чувствую пропускаю много приятного мимо))
5. necropunk 11 30.06.16 12:54 Сейчас в теме
(4) я сам качал, щупал, никак не мог приноровиться, а потом столкнулся с базой, куда она интегрирована - прелесть просто, теперь без нее - никуда.
ixilimuse; +1 Ответить
6. tormozit 7247 01.07.16 07:24 Сейчас в теме
Продолжаешь изобретать велосипеды? =)
zqzq; myjob1c; DrAku1a; Il; h00k; +5 Ответить
7. ixilimuse 193 01.07.16 08:23 Сейчас в теме
(6) tormozit, иногда случается, увы :D
Даже оправдываться не буду))))
8. echo77 1914 04.07.16 05:43 Сейчас в теме
Сравнить результаты выполнения запросов проще используя механизм сравнения файлов и сохранения результата в таблицу, или текстовый файл. Правда для этого желательно результаты отсортировать единым образом.
Оставьте свое сообщение