Привет!
Необходимо регулярно парсить большой xml-файл на 1.5 млн строк (2ГБ). Я его благополучно "разбираю" за 20 минут, получаю все строки в массив. И теперь необходимо заполнить таблицу в БД.
Сейчас делаю инсерты циклом по 2000 (число выбрал на угад) строк за раз:
INSERT INTO tbl (field1, field2) VALUES ('1', '2'),('3', '4'),('5', '6') ...
Получается 750 итераций цикла. Занимает этот весь процесс 5 часов. Необходимо уложиться в хотя бы 1-2 часа.
Подскажите в какую сторону копать? Можно ли сделать один инсерт сразу на 1.5 миллиона строк?
Что лучше: больше итераций цикла, на более "коротких" инсертах или наоборот?
P.S. Сервер - 4ГБ ОЗУ, 2 ядра.
Спасибо!