Дублирование при записи справочника в несколько потоков
Подскажите
стоит задача создавать элементы справочника (где то по 100 000 записей)
для ускорения сделал загрузку в несколько потоков, все вроде хорошо по скорости, но в нем есть поле номер по порядку в группе и заполнение идет запросом получения последнего номера+1
в итоге в фоне идет дублирование
после загрузки делать обход и проставление номеров без разделения на фоновые вообще не дает убыстрения (((
подскажите что можно сделать
стоит задача создавать элементы справочника (где то по 100 000 записей)
для ускорения сделал загрузку в несколько потоков, все вроде хорошо по скорости, но в нем есть поле номер по порядку в группе и заполнение идет запросом получения последнего номера+1
в итоге в фоне идет дублирование
после загрузки делать обход и проставление номеров без разделения на фоновые вообще не дает убыстрения (((
подскажите что можно сделать
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Отдельным регламентом делать в несколько потоков в транзакции.
Первоначально создавать элементы справочника без заполнения порядкового номера.
Регламентом отбирать незаполненные реквизиты и присваивать.
после загрузки делать обход и проставление номеров без разделения на фоновые вообще не дает убыстрения (((
Отдельным регламентом делать в несколько потоков в транзакции.
Первоначально создавать элементы справочника без заполнения порядкового номера.
Регламентом отбирать незаполненные реквизиты и присваивать.
и заполнение идет запросом получения последнего номера+1
- напрашивается блокировка, чтобы одномоментно разные потоки не могли получить эти данные
(13) Ну, можешь перед запуском проверять - если есть запущенное фоновое задание от твоей обработки - говорить пользователю - подождите.
То есть не давать одновременно нескольким запускать генерацию.
И если такой вариант устроит - то заранее формируй список кодов и передавай их в фоновые.
То есть не давать одновременно нескольким запускать генерацию.
И если такой вариант устроит - то заранее формируй список кодов и передавай их в фоновые.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
