MS Access — C ++ Builder — Многопоточное обновление базы данных

Я использую компоненты ADO в C ++ Builder, и мне нужно добавить около 200 000 записей в базу данных MS Access. Если я добавляю эти записи одну за другой, это занимает много времени, поэтому я хотел использовать потоки. Каждый поток будет создавать TADOTable, подключаться к базе данных и вставлять свои собственные строки. Но при запуске приложения оно работает даже медленнее, чем при использовании только одного потока!

Итак, как это сделать? Мне нужно добавить много записей в базу данных Access, но я хочу избежать вставки по одной. Код был бы полезен.

Спасибо.

1

Решение

Во-первых, многопоточность не увеличит скорость вставок. Это замедлит его из-за переключения контекста и прочего. Вам нужен способ массовых вставок, то есть отправка нескольких строк в одной транзакции

Попробуйте поискать массовые вставки в таблицах доступа. Там много информации.

-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector