我必须使用 Django 的 ORM 将8000多条记录插入到 SQLite 数据库中。这个操作需要作为一个 cronjob 运行,大约每分钟一次。
目前,我使用 for 循环迭代所有项,然后一个一个地插入它们。
例如:
for item in items:
entry = Entry(a1=item.a1, a2=item.a2)
entry.save()
做这件事的有效方法是什么?
编辑: 两种插入方法的比较。
如果没有 commit _ Manual 装饰器(11245条记录) :
nox@noxdevel marinetraffic]$ time python manage.py insrec
real 1m50.288s
user 0m6.710s
sys 0m23.445s
使用提交 _ 手动装饰器(11245条记录) :
[nox@noxdevel marinetraffic]$ time python manage.py insrec
real 0m18.464s
user 0m5.433s
sys 0m10.163s
注意: 除了插入数据库之外,测试脚本还执行一些其他操作(下载 ZIP 文件,从 ZIP 归档中提取 XML 文件,解析 XML 文件) ,因此执行所需的时间并不一定代表插入记录所需的时间。