У меня есть существующий скрипт python, который проходит через каталог XML-файлов, анализируя каждый файл с использованием etree и вставляя данные в разные точки в схему базы данных Postgres с использованием модуля psycopg2. Этот скрипт с взломом работал очень хорошо, но теперь количество данных (количество и размер файлов XML) быстро растет, а количество операторов INSERT просто не масштабируется. Самая большая таблица в моей последней базе данных выросла примерно до 50 миллионов записей из примерно 200 000 XML-файлов. Так что мой вопрос, что является наиболее эффективным способом:XML to Postgres через python/psycopg2
- данных PARSE из XMLs
- Соберите строку (ы)
- Вставить строку (ы) для Postgres
ли это быстрее записывать все данные в CSV в правильном формате, а затем загружать итоговые таблицы CSV в Postgres, используя команду COPY_FROM?
В противном случае я думал о том, чтобы заполнить временную структуру данных в памяти, которую я мог бы вставить в БД, когда достигнет определенного размера? У меня просто возникает проблема с тем, как это будет работать.
Спасибо за понимание на эту тему, и, пожалуйста, дайте мне знать, нужна ли дополнительная информация для ответа на мой вопрос.