Имя: Пароль:
1C
1С v8
Вопрос по оптимизации запросов
, ,
0 XenoneX
 
02.10.23
14:28
Добрый день, Уважаемые!

Собственно, такой вот вопрос. Есть запрос, достаточно большой и жирный. Состоит из 70+ пакетов, которые в итоге объединяются в один.
Задача состоит в том, что нужно его оптимизировать, а то уж больно долго он там мозгами шуршит. Причем сами запросы достаточно простые, без особого использования "Фишек"

Сама база на МССкуле. Возникла идея вместо этих 70+ пакетов сделать сложное представление в самой базе Скуля и подключитсья к нему внешним подключением, чтобы получить финальный запрос.

Короче, вопрос такой. Что быстрее будет работать, написанный запрос в Консоле запросов 1С, или подключенная как внешний источник результат этой таблицы.
Второй вопрос, если это действительно быстрее будет работать (как минимум в представлении можно будет индексацию настроить), то почему я особо в интернете таких вариантов не видел? В чем подвох?
1 AlexeyKh
 
02.10.23
14:32
первым пунктом, уберите из запроса все команды Индексировать!!!
2 AlexeyKh
 
02.10.23
14:35
а вторым пунктом, переписывайте сам запрос, с учетом рекомендаций от 1С.

(мы же знаем что бывает не только Г..код но и Г..запрос)
3 Timon1405
 
02.10.23
14:36
по второму пункту : отбор из исходного отчёта как в представление будете пробрасывать?
4 XenoneX
 
02.10.23
16:02
(1) Вроде как и нет такого нигде в запросах, если Вы про запрос 1С. Но спасибо, буду иметь ввиду.

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

(3) Да, пожалуй этого я не учел. Надо глянуть, вдруг есть такая возможность.
5 Конструктор1С
 
02.10.23
16:14
Пора обламывать руки любителям пихать сложную логику в запросы
6 Timon1405
 
02.10.23
16:20
7 XenoneX
 
03.10.23
12:57
(6) Огромное спасибо! Буду изучать.
8 Jackman
 
03.10.23
17:04
(0) Вообще, очень сложные и большие запросы часто означает, что идут не тем путем. Предпочтительно, в таких случаях смотреть, как можно упростить получение данных, путем введения каких-то доп. расчетов в первичку или каких-то взаимосвязей данных, которые нужны для запроса, с сохранением результатов в регистры.
9 unenu
 
03.10.23
17:09
(0) избавьтесь от В Иерархии во всех внутренних пакетах.

Отборы лучше делать в первых пакетах на базовых справочниках: Номеклатура, Аналитика, Склады, Партнеры...

а далее во внутренних пакетах ипользовать

Т.Склад В (Выбрать Т.Склад Из ВТСкладыОтбора)

Пример запросы по сегментам в УТ/ЕРП в типовых алгоритмах.
10 ILM
 
гуру
04.10.23
08:37
(8) Не всегда верное утверждение. Есть отчёт собственнику - собирает много-много данных и строит показатели за период, 14 табличек сводных и графиков ещё 9 шт. Так он тоже долго шуршит, секунд 20, но никого не напрягает. Больше напрягает расчёт себестоимости полтора часа.
11 unenu
 
04.10.23
09:41
(10) расчет себес 1.5 часа - это барство. Обычно полсуток, иногда до суток.)