Имя: Пароль:
1C
1С v8
Ускорение выборки номенклатуры.
0 bplmeddy
 
06.06.18
12:59
Доброго времени суток.

Возникла следующая неприятная ситуация: имеется загрузка данных с внешней БД (загружаются товары в справочник номенклатуры). Количество товаров весьма впечатляющее, более 120000. При выгрузке мной было замечено проседание скорости выгрузки в зависимости от количества уже загруженных товаров в номенклатуры. При замере производительности, было выявлено, что больше 90% времени тратится на отработку двух запросов (вынесены в отдельные функции): первый ищет в номенклатуре товары по наименованию, второй по реквизиту (по коду с сайта, чтобы не плодить дубли). Получается что время на загрузку растёт по экспоненте и на последних тысячах ждать придётся весьма долго.

Собственно сам вопрос таков: как можно ускорить процесс поиска? Возможно через запрос это неправильный шаг ? Буду очень благодарен за совет.

Платформа:8.3 (8.3.9.2170)
Конфигурация: Управление торговлей для Украины, редакция 3.1
1 b_ru
 
06.06.18
13:02
Вы там что, в цикле что ли для каждой строки из 120К запросы запускаете?
Делать нужно так: пихаем все внешние данные во временную таблицу, потом джойним ее с нашим справочником и находим новые (или измененнные) строки - их и обрабатываем.
2 Вафель
 
06.06.18
13:05
реквизит проиндексировать
3 bplmeddy
 
06.06.18
13:05
(1) А можно пример или мануал ?
4 bplmeddy
 
06.06.18
13:07
(1) (3) Нашел мануал, курю, буду пробовать. Спасибо за совет.