Имя: Пароль:
1C
 
1C 8.3 Пакет запросов или несколько запросов
0 СамоСабой
 
20.05.25
12:12
Здравствуйте
Прошу пояснить какие приимущества нам дает использование пакета запросов вместо последовательного выполнения нескольких запросов :
//---------------------------------
Запрос.Текст = "
|ВЫБРАТЬ
|    рнРег1.Ссылка
|ИЗ
|    РегистрНакопления.Рег1 КАК рнРег1
|;
|
|ВЫБРАТЬ
|    рнРег2.Ссылка
|ИЗ
|    РегистрНакопления.Рег2 КАК рнРег2
|;
|
...
|ВЫБРАТЬ
|    рнРегN.Ссылка
|ИЗ
|    РегистрНакопления.РегN КАК рнРег1
|";
мРезультаты = Запрос.ВыполнитьПакет();

Рез1= мрезультаты[0];
Рез2= мрезультаты[1];
РезN= мрезультаты[N-1];

Запрос.Текст = "
|ВЫБРАТЬ
|    рнРег1.Ссылка
|ИЗ
|    РегистрНакопления.Рег1 КАК рнРег1
|";
Рез1= Запрос.Выполнить();

Запрос.Текст = "
|ВЫБРАТЬ
|    рнРег2.Ссылка
|ИЗ
|    РегистрНакопления.Рег2 КАК рнРег2
|";
Рез2= Запрос.Выполнить();
...
Запрос.Текст = "
|ВЫБРАТЬ
|    рнРегN.Ссылка
|ИЗ
|    РегистрНакопления.РегN КАК рнРег1
|";
РезN = Запрос.Выполнить();
//---------------------------------------
1 mikecool
 
20.05.25
12:25
никаких отличий, пиши как нравится
2 Garykom
 
гуру
20.05.25
12:40
С менеджером ВТ согласен отличий почти никаких
3 СамоСабой
 
20.05.25
12:47
Мне нравится несколько запросов т.к. при необходимости вставить или убрать входящий запрос нет гемороя с изменением индексов всех остальных
4 p-soft
 
20.05.25
12:53
(3) код с разными запросами выглядит громоздко и работает дольше. смотрите как в ут11 формируется пакет запросов при проведении документа.
5 Franchiser
 
гуру
20.05.25
12:53
Иногда удобно открыть конструктором пакетный запрос, скопировать текст в консоль запросов для отладки. Если же отдельные запрос, использующие вт из МВТ, то придется по отдельности копировать часть запросов формирующих Вт и отдельно выборку результата.
6 Мультук
 
гуру
20.05.25
12:58
А что с транзакциями и консистентностью ?
7 СамоСабой
 
20.05.25
13:11
(6) Ну наверное пакет выполняется чуть быстрее, за счет того что планировщик загружается один раз.
т.е. если надо выполнить 1 млн очень простых запросов тогда эта разница станет заметной.
8 rozer76
 
20.05.25
16:14
(6) только в пакетном все будет хорошо
9 Eiffil123
 
21.05.25
14:04
в 8.5 будет оптимизация в части пакетного запроса. а пока что разницы нет. Судя по описанию с зазеркалья, платформа сейчас дробит пакетный запрос на отдельные.