Я создал приложение Windows (C # .Net) для переноса данных из одной базы данных в другую.
Здесь я выбираю все строки таблицы клиентов из базы данных ABC и вставляю все строки в таблицу дилеров базы данных XYZ.
Моя проблема в том, что когда я выбираю 1000 верхних строк из таблицы, для вставки этих 1000 записей требуется 2 минуты и 35 секунд.
но когда я выбираю топ 5000 строк из таблицы, вставка этих 5000 записей занимает 15 минут (не 10 минут)
Есть ли способ оптимизировать производительность, чтобы я мог очень быстро вставить все записи / данные.
(Примечание: здесь для каждой записи в цикле foreach я создал sqlparameter и вставил оператор sql)
Также я использовал индикатор выполнения, но когда я теряю фокус из моего приложения Windows, он перестает отвечать на запросы (не отвечает как заголовок окна), и я не вижу статус / прогресс индикатора выполнения (но процесс вставки данных работает в фоновом режиме, но не в пользовательском интерфейсе).
Как решить эти две проблемы ??