Мое приложение C # .NET записывает миллионы записей во временную таблицу с помощью OracleBulkCopy. Каждый раз, когда приложение имеет 20000 записей или более в памяти, оно вызывает OracleBulkCopy, чтобы записать их все в одном пакете (я использую размер пакета = 0). В начале таблица пуста, и написание всего пакета занимает всего 2 секунды. В процессе работы время написания партии увеличивается. После 2.000.000 записей каждый звонок занимает почти 25 секунд. Я использую параметры по умолчанию OracleBulkCopy. При выполнении некоторых тестов, когда таблица достигает 40 000 000, на написание 20 000 записей уходит почти 3 минуты.
Я хотел бы знать, есть ли какие-либо рекомендации (я ничего не мог найти по этому поводу), чтобы поддерживать почти постоянное время для каждого звонка. Я что-то не так делаю?