Как эффективно вставить тысячи записей в таблицу SQLite с помощью Django?
Мне нужно вставить более 8000 записей в базу данных SQLite, используя ORM Django. Эту операцию нужно выполнять как cronjob примерно раз в минуту.
В настоящее время я использую цикл for, чтобы перебрать все элементы и затем вставить их один за другим.
Пример:
for item in items:
entry = Entry(a1=item.a1, a2=item.a2)
entry.save()
Какой эффективный способ сделать это?
Edit: Небольшое сравнение между двумя методами вставки.
Без commit_manually декоратора (11245 записей):
nox@noxdevel marinetraffic]$ time python manage.py insrec
real 1m50.288s
user 0m6.710s
sys 0m23.445s
Использование commit_manually декоратора (11245 записей):
[nox@noxdevel marinetraffic]$ time python manage.py insrec
real 0m18.464s
user 0m5.433s
sys 0m10.163s
Note: test Сценарий также выполняет некоторые другие операции, помимо вставки в базу данных (загрузка файла ZIP, извлечение файла XML из архива ZIP, анализ файла XML), поэтому время, необходимое для выполнения, не обязательно представляет время, необходимое для вставки записей.