Вход | Регистрация
 
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 выноситься или в память.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.