Замер производительности для запроса в цикле

1. surinat 21.02.23 15:21 Сейчас в теме

УТ 11.1
Платформа 8.3.18.1959

Сегодня услышала от уважаемого мной программиста, что запросы в цикле нельзя было делать только в 8.0.
Начиная с 8.1 всё быстро работает, можно запросы делать в цикле.
Попробовала простенький тестовый пример.
Запрос до цикла с последующей обработкой в цикле получился гораздо быстрее, чем запрос в цикле.

Может кто слышал что-то об этом? Я обучалась очень давно и тогда говорили, что нельзя (или хотя бы не желательно) выполнять запросы в цикле. Может что изменилось? Может это связано с выполнением на сервере?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 21.02.23 15:30 Сейчас в теме
(1)ничего не поменялось, запросы все так же не рекомендуется выполнять в цикле.
Fox-trot; +1 Ответить
3. DBV 21.02.23 15:30 Сейчас в теме
(1) А чем Ваш знакомый это аргументирует?
5. surinat 21.02.23 15:50 Сейчас в теме
(3) Пока ничем. Пока не было возможности спросить. Хотя, говорил, что в типовой бухгалтерии это часто используется в бухгалтерских отчетах. Возможно, имел ввиду, что быстрота увеличилась и погрешность в разнице времени маленькая, поэтому не стоит на это обращать внимание.
7. DBV 21.02.23 16:23 Сейчас в теме
(5) Судя по рекомендации ИТС

1.2. Также в большинстве случаев, следует минимизировать и общее количество запросов к СУБД.

См. также: Многократное выполнение однотипных запросов.

2. С другой стороны, не следует пытаться любой ценой перенести выполнение задачи в СУБД. СУБД обычно оптимизирует и выполняет простые запросы более эффективно, чем сложные.


То есть не надо уходить в крайности, в принципе, как и в большинстве случаев
6. SlavaKron 21.02.23 15:59 Сейчас в теме
(1) Я сторонник того, чтобы из СУБД брать минимальный набор данных, который обрабатывать уже во встроенном языке.
К сожалению, появилось очень много адептов делать всё в запросе. Это однако не исключает того факта, что запрос в цикле – зло и всегда может быть приведен в единый запрос, который будет работать быстрее.
8. lmnlmn 69 21.02.23 16:23 Сейчас в теме
(1) Слишком просто вопрос поставлен. Иногда запрос в цикле позволяет обойтись меньшими выборками данных, зачастую с более читаемым запросом. С пониманием к этому делу надо подходить.
Stref75; Fox-trot; user1880116; Zevzm; +4 Ответить
9. RustamZz 21.02.23 16:35 Сейчас в теме
(1) Запросы в цикле - ЗЛО. Можете больше не уважать этого "программиста". И да пример в студию ваших запросов!
10. user1880116 21.02.23 16:41 Сейчас в теме
(9)
Можете больше не уважать этого "программиста"
А вот когда платформа для получения представлений ссылок динамического списка начинает фигачить множество коротких запросов - это уже повод начать не уважать её или ещё нет?
11. RustamZz 21.02.23 16:43 Сейчас в теме
(10) Не замечал такого. Можете пример подобного динамического списка показать?
12. user1880116 21.02.23 16:45 Сейчас в теме
(11) Любой список. Открываешь SQL профайлер или настраиваешь события, Начинаешь новый сеанс, чтобы кэш представлений пустой был, открываешь список и начинаешь замечать.
14. RustamZz 21.02.23 17:18 Сейчас в теме
(12) Справочник страны мира.
Прикрепленные файлы:
15. Sashares 35 21.02.23 17:37 Сейчас в теме
(14)Посмотрите справочник, у которого есть в модуле менеджера задана процедура для события обработка получения представления.
И чтобы динамическом списке выводилось его представление.
16. RustamZz 21.02.23 17:41 Сейчас в теме
(15) Это не соответствует "любой список". В таком варианте - все печально будет.
4. coollerinc 192 21.02.23 15:49 Сейчас в теме
Ни чего не поменялось, все так же не рекомендуется
13. user1880116 21.02.23 16:48 Сейчас в теме
Или ещё лучше - отчет сформируй, который табличный документ выводит. И покажт пользователю этот отчет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот