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