Это время кажется вполне разумным и согласуется со временем, которое я наблюдал.Если вы хотите, чтобы он шел быстрее, вам нужно использовать параметры массовой вставки и отключить функции безопасности:
- Использовать PreparedStatements и пакеты от 5000 до 10000 записей, если это НЕ ДОЛЖНА быть одна транзакция
- Использоватьпараметры массовой загрузки в СУБД
- Временное отключение проверок целостности для вставки
- Временное отключение индексов или удаление индексов и их повторное создание после вставки
- Отключение ведения журнала транзакций и повторного созданиявключить впоследствии.
РЕДАКТИРОВАТЬ: Транзакции базы данных ограничены дисковым вводом-выводом, и на ноутбуках и большинстве жестких дисков важным числом является время поиска для диска.
Ноутбуки, как правило, имеют довольно медленные диски со скоростью 5400 об / мин.На этой скорости время поиска составляет около 5 мс.Если мы предположим, что один запрос на запись (завышенная оценка в большинстве случаев), то для вставки всех строк потребуется 40 минут (500000 * 5 мс).Теперь использование механизмов кэширования и механизмов секвенирования несколько уменьшает это, но вы можете увидеть, откуда возникла проблема.
Я (конечно) сильно упрощаю проблему, но вы можете видеть, куда я иду с этим;неразумно ожидать, что базы данных будут работать с той же скоростью, что и последовательный массовый ввод-вывод.Вы должны применить какое-то индексирование к вашей записи, и на это нужно время.