Я использую компоненты ADO в C ++ Builder, и мне нужно добавить около 200 000 записей в базу данных MS Access. Если я добавляю эти записи одну за другой, это занимает много времени, поэтому я хотел использовать потоки. Каждый поток будет создавать TADOTable, подключаться к базе данных и вставлять свои собственные строки. Но при запуске приложения оно работает даже медленнее, чем при использовании только одного потока!
Итак, как это сделать? Мне нужно добавить много записей в базу данных Access, но я хочу избежать вставки по одной. Код был бы полезен.
Спасибо.
Во-первых, многопоточность не увеличит скорость вставок. Это замедлит его из-за переключения контекста и прочего. Вам нужен способ массовых вставок, то есть отправка нескольких строк в одной транзакции
Попробуйте поискать массовые вставки в таблицах доступа. Там много информации.
Других решений пока нет …