Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ускорение перебора выборки запроса

Ускорение перебора выборки запроса
Я
   Slon747
 
04.11.20 - 17:04
Запрос возвращает большой объем данных.
Обход результата запроса идет по группировкам, далее - вложенная Выбрать().
Пока ВыборкаНоменклатуры.Следующий() Цикл
     ....
     ВыборкаХарактеристик = ВыборкаНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
     Пока ВыборкаХарактеристик.Следующий() Цикл
        ....
     КонецЦикла;
КонецЦикла;

Основное время тратится на эту строку:
ВыборкаХарактеристик = ВыборкаНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Можно ли как-то ускорить получение данной выборки? Может есть каки-то механизмы типа индексирования результата запроса?
   piter3
 
1 - 04.11.20 - 17:17
Эээ, может запрос странный, покажи его хоть
   RomanYS
 
2 - 04.11.20 - 17:23
(0) >> Основное время тратится на эту строку:
ВыборкаХарактеристик = ВыборкаНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); 

Очень странно: или замер глючит, или всё другое реально заоптимизировано.
   Slon747
 
3 - 04.11.20 - 17:42
(1) Запрос гигантский, нет смысла выкладывай. Сам запрос оптимизирован и выполняется более-менее быстро.
(2) Там очень много данных в результате запроса. Данная строка выполняется более 100 тыс раз.
   ДенисЧ
 
4 - 04.11.20 - 17:43
Если запрос возвращает больше сотни тысяч значений, может - следует пересмотреть условия? Зачем тебе столько результатов?
   RomanYS
 
5 - 04.11.20 - 17:45
(3) Тогда логично: если запрос "простой", а результат объемный.
Покажи замер, строк 5-10 из топа по времени
   Вафель
 
6 - 04.11.20 - 17:53
сделай плоскую таблицу и меняй группировку сам по мере смены значения характеристики
   fisher
 
7 - 04.11.20 - 18:53
> Данная строка выполняется более 100 тыс раз.
И сколько в абсолютном времени это занимает?
   fisher
 
8 - 04.11.20 - 19:01
Т.е. более ста тысяч - это только ассортимента. Характеристик в разы больше, значит. Плюс вся хурма - выборка действительно немаленькая может выйти. А складируется она, ЕМНИП, во временные файлы. Если тормоза на таких базовых вещах - эффективнее смотреть на производительность звеньев инфраструктуры, чем на оптимизацию исходного кода. Ну там на SSD выноситься или в память.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.