SQLAlchemy无效地插入数百万个数据

时间:2012-02-14 03:15:45

标签: python sqlalchemy python-elixir

完成100000(用户,密码)元组插入需要很长时间。

def insertdata(db,name,val):
    i = db.insert()
    i.execute(user= name, password=val)
#-----main-------
tuplelist = readfile("C:/py/tst.txt")  #parse file is really fast
mydb = initdatabase()
for ele in tuplelist:
    insertdata(mydb,ele[0],ele[1])

哪个功能需要更多时间?有没有办法在python中测试瓶颈? 我可以通过缓存和提交来避免这种情况吗?

1 个答案:

答案 0 :(得分:3)

让DBAPI句柄遍历参数。

def insertdata(db,tuplelist):
    i = db.insert()
    i.execute([dict(user=elem[0], password=elem[1]) for elem in tuplelist])
#-----main-------
tuplelist = readfile("C:/py/tst.txt")  #parse file is really fast
mydb = initdatabase()
insertdata(mydb,tuplelist)