#0
by Prog111
Запрос в цикле уже притча во языцах - что это неправильно и "неправославно". Я так понимаю - из-за производительности. А вот если заранее известно, что конструкция с запросом в цикле абсолютно не скажется на производительности или некритична для производительности, - то допустима ли она в коде? Например, известно, что проходов будет не более 100, а в выборке тоже не более 10 элементов. Всё будет исполняться за 0,5 секунд.
#1
by Aleksey
кто то тебе запрещает делать запросы в цикле? Может еще скажешь что нельзя искать по кодо, использовать перейти ... Все используют, даже 1С в своих типовых и не жужат, а ты чего это решил выпендриться?
#2
by Aleksey
тут скорее вопрос не в производительности, а в блокировки. каждый запрос накладывает блокировку при получении данных Поэтому и считается что один раз запросив и получив массив данных это лучше чем сто раз дергать базу по сети накладывая кучу мелких блокировок. Но тут вопрос, что для базы лучще for i=1 to 10 do select * from table where id=i или select * from table where id in (1,2,3,4,5,6,7,8,9,10) Во общем сильно от задачи зависит, и ИМХО проще написать запрос в цикле на полстранице, чем писать запрос на 10 страниц, но один. К примеру тебе нужно получить список актуальных ОС, по каждой ОС вывести кучу параметров из других таблиц (сумма амортизации, дата принятия, сроки эксплуатации, автор документа ввода в эксплуатацию и т.д,). Можно конечно постараться вместить в один запрос или запросом получить список ОС, а далее уже в цикле получать по каждой ОС список необходимых данных
#3
by Скиурус
>>Например, известно, что проходов будет не более 100, а в выборке тоже не более 10 элементов. А что будет если эту ерунду три пользователя сразу запустят?
#4
by vcv
Возможно данные будут невалидны. Если где-то между мелкими запросами другой пользователь изменит данные.
#5
by vi0
это не притча воязыцах, а требование при сдаче экзамена 1с по платформе требование исключительно по производительности
#6
by Gobseck
>Во общем сильно от задачи зависит, и ИМХО проще написать запрос в цикле на полстранице, чем писать запрос на 10 страниц, но один. В пользу этого подхода можно еще добавить, что так будет ниже вероятность ошибки и меньше времени на разработку и отладку. Если обработка будет использоваться один раз либо пользоваться ей будут два с половиной инвалида, то есть смысл постараться сократить время на разработку. Если обработкой будут пользоваться десятки-сотни-тысячи пользователей, то есть смысл оптимизировать на скорость выполнения.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Разные запросы POST на 1С и PHP
- В условиях соединения запроса не допускается обращение к табличным частям
- Целесообразность обновления ERP на версию 2.4.1
- Получить запросом места хранения - УТ 10.3
- Онлайн касса и НДС
- v7: Как определить позицию курсора в текстовом поле?
- Произвольные отчеты УПП 1.3 в БП 3.0
- Мобильное приложение, фотографирование
- Растянутая таблица в теле письма ИнтернетПочтовоеСообщение
- ЗУП 3.1 Как средний считается? Не пойму логики..
- Как закрыть ОкноКлиентскогоПриложения?
- 1с розница сканер sb 1101 в режиме драйвера native
- Множественное проведение одинаковых документов
- Учет фактических отпусков в ЗУП 3
- УТ 11.3.4.103 + ШТРИХ-лайт-01Ф: итог чека ККМ больше чека в 1с на суммы скидок
- Обмен данными между Frontol и УТ11
- Простой запрос в консоли и скд выполняется по разному
- Формат даты для WSDL
- Не правильно считает итог по ресурсу в СКД
- Создание РИБ и ошибка о превышении памяти сервера