Оптимизация загрузки из DBF

Новая тема
"Добрый день! Требуется загрузить контрагентов из внешней программы.
Фрагмент кода загрузки:

Файл_DBF = Новый XBase;
 Файл_DBF.ОткрытьФайл("Sprav.DBF");
Файл_DBF.Первая();
Пока Не Файл_DBF.ВКонце() Цикл
КодЭлем = СокрЛП(Файл_DBF.Nom);

Если КодЭлем = СокрЛП(Справочники.Контрагенты.НайтиПоКоду(КодЭлем).Код) Тогда
Файл_DBF.Следующая();
Продолжить;
КонецЕсли;
//
//Если нет такого кода загружаем в справочник.
//Текст загрузки приводить небуду
//

Файл_DBF.Следующая();
КонецЦикла;
Файл_DBF.ЗакрытьФайл();

Возможно ли оптимизировать данную загрузку?
И если возможно, то как?"
> Возможно ли оптимизировать данную загрузку?
А в чем должен заключаться смысл оптимизации?
Оптимизировать время загрузки. Можно ли запросом получить только те данные, которых нет в справочнике контрагентов. Уникальность отслеживается по "Коду".
Просто строка:
Если КодЭлем = СокрЛП(Справочники.Контрагенты.НайтиПоКоду(КодЭлем).Код) Тогда
Настораживает тем, что в загружаемом файле большое количество данных. Более 10000 строк. И каждую стороку проверять на уникальность - огромная затрата по времени.
1. Загружаете данные из DBF в таблицу значений.
2. Таблицу значений помещаете во временную таблицу запроса.
3. Осуществляете поиск элементов, соединяя временную таблицу с таблицей контрагентов.
После загрузки DBF файла в таблицу значений, перемещения во временную таблицу и сравнением в запросе Временной таблицы и справочника время обработки увеличилось.
Итог:
Вариант 1.: чтение из DBF -> поиск в справочнике на уникальность. Затраченное время 9 секунд.
Вариант 2.: чтение из DBF -> заполнение таблицы значений -> перемещение во временную таблицу -> сравнение, в запросе, временной таблицы и справочника на уникальность элементов. Затраченное время 5 минут 20 секунд.
Результат отрицательный.
Исходные данные:
10300 записей в DBF
100000 записей в справочнике контрагентов 1С.
> Результат отрицательный.
Код свой покажите для начала.
Читают тему
(гостей: 1)

Быстрый переход