我正在使用python(3.4)来解析一个巨大的文本文件(~200MB,500k行)并向mongodb(3.4.4)添加条目。我的程序是这样的:
for line in file:
if ‘some_string1’ in line:
list1 = line.split(“,”)
mydict[field1] = list1[0]
mydict[field2] = list1[4]
db.coll1.insert(mydict)
elif ‘some_string2’ in line:
list1 = line.split(“,”)
mydict[field1] = list1[0]
mydict[field2] = list1[4]
mydict[notes] = “some_notes”
db.coll1.update({“filed1”: mydict[“filed1”}, {"$set":{"notes": mydict["notes"]}}, upsert=False)
这个程序运行速度极慢(4-5小时处理所有行)。我已经尝试将filed1设置为索引,但这没有帮助。插入数据库的速度要快得多,但更新需要花费大量时间。我有什么办法可以优化性能吗?