#0
by vi0
Видите ли вы преимущества пакетного запроса перед использованием нескольких запросов? Какие? Известно, что временные таблицы можно передавать между запросами используя менеджер временных таблиц, т.е. по ВР вопроса не возникает. Допускаю, что при слабой связи, например в мобильном приложении или в веб-клиенте, есть смысл сократить количества обращений к серверу и делать пакетами. А в прочих случаях?
#0
by vi0
Видите ли вы преимущества пакетного запроса перед использованием нескольких запросов? Какие? Известно, что временные таблицы можно передавать между запросами используя менеджер временных таблиц, т.е. по ВР вопроса не возникает. Допускаю, что при слабой связи, например в мобильном приложении или в веб-клиенте, есть смысл сократить количества обращений к серверу и делать пакетами. А в прочих случаях?
#9
by vi0
а какой профит для обычного клиент-сервера? неужели такая ресурсоемкая операция - обращение к серверу?
#10
by Ненавижу 1С
у тебя паскалевский вариант, у меня сишный кстати, в них условие трактуются как противоположные
#11
by vi0
не факт что удобно воспринимать одной большой портянкой и в типовых весь пакет собирается динамически
#13
by ELEA26
именно). сишный повторяется пока истина, паскалевский до тех пор пока не истина. Просто 1С как-то к паскалю ближе. Вроде.
#17
by vi0
Сформулирую вопрос по другому: Представим, что вам в задаче удобно организовать программный модуль так, чтобы выполнялись отдельные запросы, а не пакет. Будете ли вы стремится все таки сделать пакет? Почему?
#18
by Ненавижу 1С
"например в мобильном приложении или в веб-клиенте" вообще-то они делаются на сервере приложений
#22
by Ненавижу 1С
Неопределено я бы все таки оставил как аналог пустого указателя на объектный тип, как nil в паскале или nullptr в С++
#23
by Fish
Когда мне удобнее отдельные запросы, я делаю отдельный. Когда мне удобно делать пакетный запрос - я делаю пакетный. Не понял твоей проблемы вообще - ты не можешь определить, что и как тебе удобнее делать в конкретной задаче?
#25
by Волшебник
Хорошо, что тебя нет в команде разработчиков. А то бы мы занимались такой же фигнёй как в С: освобождали бы память или натыкались на Null Pointer Exception
#28
by MrStomak
Пакетный запрос имел смысл как способ оптимизации в обычном приложении, когда каждый вызов запроса обозначал передачу управления с клиента на сервер приложений. Сейчас, на УФ, имеет смысл только для удобства, всё и так на сервере делается, а СУБД будет вызвана в любом случае несколько раз.
#29
by Ненавижу 1С
нет же, автоматическая сборка мусора, это прекрасно в шарпе и яве тоже есть пустой указатель null, но не стоит его путать с NULL из SQL
#30
by 1dvd
Если один запрос, и данные берутся только из него, то обращение к БД будет только одно. Не?
#32
by Ненавижу 1С
пакетный запрос это синтаксический сахар: 1. удобно редакктировать как единый запрос в конструкторе 2. тоже самое в СКд 3. не надо напрягаться с удалением временных таблиц
#33
by Fish
При относительно небольшом кол-ве итераций (сейчас не вспомню точное число, но что-то емнип около 40000) - 1С упадёт, не успев даже ругнуться :)
#36
by MrStomak
Нет. Более того, обращений к СУБД может быть несколько даже при 1 запросе (когда используются ВТ (особенно регистра бухгалтерии) или конструкции "В иерархии", ну и еще наверняка есть варианты)
#38
by patapum
Менеджер временных таблиц лучше пакетника, если к одной временной таблице обращаешься несколько раз. У меня таких задач не помню, чтобы было. А зачем еще?
#40
by 1dvd
хотя, да. Помнится, пытался трасернуть штатную ОСВ, которая на СКД. И глаза разбежались...
#41
by Lazy Stranger
в языке Фортран-4, которому меня учили на первом курсе, циклы примерно так и выглядели, через if и goto
#49
by Fedor-1971
не совсем просто сахар. Есть оптимизатор SQL - ему проще получить пакет и построить план выбора данных для многих таблиц сразу, чем строить много планов из-за оптимальности: выбрали доки в ВТ, потом на её основании добираем нужную информацию
#52
by MrStomak
Какое это имеет отношение к "Менеджер ВТ или пакетный запрос"? И там и там много планов.
#58
by MM
В пакетном запросе, теоретически, можно выполнять несколько запросов на СУБД одновременно, если они не используют данные друг друга.
#59
by MrStomak
План составляется на каждый конкретный запрос. Всегда. Пакеты, не пакеты - пофигу. Или не составляется, если запрос вызывается через ХП и есть кэш.
#60
by ELEA26
это если MS SQL и включен параллелизм? Тоже надо тестить... А реально было бы интересно. Если создаешь двумя запросами две разные ВТ, а потом с ними работаешь - было бы круто, если бы они формировались одновременно.
#61
by MrStomak
Параллелизм работает внутри 1 запроса. Запросы в пакете выполняются последовательно.
#63
by Buster007
Почему не рекомендуется использовать запрос в цикле? Именно для этого и нужен пакетный запрос, а так ты можешь, конечно, и без пакетника.
#65
by lodger
все такие умные. а где хранятся временные таблицы? если явно объявлен менеджерВТ, то на стороне предприятия. и вся эта когорта передается изв СУБД для дальнейших запросов. логично? пока да. а вот пакетный запрос. 1с готовит запросы и отдает их в СУБД для исполнения, при этом где времянки? в ТемпДБ СУБД? или они перекатываются в сервер 1с для обработки в 1с? судя по монитору ресурсов - rphost при запросе немножко тужится и высырает что-то в скуль. дальше скуль тужится и один раз отдает все скопом в рпхост. но запрос тем временем большой и пакетный... простите за сумбур.
#69
by MrStomak
Отладчик запрос к субд на содержание ВТ делает. Точно также, как и наименование справочника ты можешь посмотреть из отладчика. Прикинь, он не хранит это в сервере ;)
#72
by dezss
И как же ты ВТ "мацаешь"? Делаешь Выгрузить, правильно? А не замечал, как эта Выгрузить подтормаживает в отладчике?
#73
by MrStomak
Наменование основного средства не хранится в метаданных. А из отладчика, сюрприз!, видно. И дальше можно плюсиками раскрывать до чего угодно.
#75
by Адинэснег
Если Вы используете объект МВТ, то временные таблицы рекомендуется удалять одним из первых 2 методов, как только в них отпала необходимость, иначе они будут висеть в памяти сервера СУБД, пока процедура/функция не закончит работу, что не есть хорошо Источник: ©Курсы-по-1С.рф
#77
by MrStomak
Тебе сказать по теме есть чего, кроме шокирующих открытий, что Имя справочника это оказывается таки его метаданные?
#85
by assasu
если ты свой код собираешься поддерживать и вносить исправления - делай всегда отдельные запросы. если пишешь код "на от@@ись" - пиши один запрос с кучей пакетов. так в нем будет сложнее разобраться.
#86
by VladZ
Не понял проблемы. Нужны пакетные - делаешь. Не нужны - не делаешь. От себя: мне еще ни разу не понадобились.
#89
by VS-1976
Есть к примеру ситуации, когда предварительные данные позже соединяются с разными таблицами. По этому пакетный запрос в каких то случаях может даже дать прирост производительности.
#91
by dmpl
А в других кругах перейти - единственный вариант ветвления. А за рекурсию без необходимости бьют везде.
#98
by lodger
просто вы не умеете их готовить. да и читать видимо тоже. большой запрос разбитый на пакеты в разы легче читается, отлаживается и редактируется, нежели мешанина закинутая в огромные вложенные запросы с десятками джойнов и юнионов.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Присвоить серии номенклатуре
- В документ как прикрутить СКД чтоб можно было заполнить ТЧ.
- УТ 11. В отчет не попадают данные при пустом периоде
- БП3. База распределения расходов по видам деятельности
- ЗУП 3.1 Отчет - СЗВ стаж и виды стажа
- Зависает фискальник при оплате эквайрингом СБ. УТ10.3, атол11ф
- v7: Не закрывать форму выбора при выборе НЕ ТОГО элемента справочника
- УФ. Из обработки вызвать модуль формы документа.
- ВвестиЗначение, размер диалогового окна, как изменить?
- В 1с 8.3 УПП Попытка Исключение КонецПопытки не правильно срабатывает
- 1с 77 ТиС Несуществующие объекты в регистре ОстаткиТМЦ
- Медленный обмен в РИБ
- Касса ШТРИХ ОНЛАЙН и типы оплаты
- Как получить значение параметра в СКД 1С 8.3
- Ошибка при вызове метода контекста (Update): Произошла исключительная ситуация (ADODB.Fiel
- Как вытащить сумму НДС из реализации товаров и услуг?
- КД: создание регистра сведений без источника
- Выгрузка данных в Оpen Office
- Как вывести макет в ВПФ в два разных окна (для двух разных контрагентов)
- v7: Выбор вида документа