【发布时间】:2012-06-15 15:05:58
【问题描述】:
我正在尝试将 python 脚本生成的一些数据存储在 MySQL 数据库中。基本上我使用的是命令:
con = oursql.connect(user="user", host="host", passwd="passwd",
db="testdb")
c = con.cursor()
c.executemany(insertsimoutput, zippedsimoutput)
con.commit()
c.close()
在哪里,
insertsimoutput = '''insert into simoutput
(repnum,
timepd,
...) values (?, ?, ...?)'''
大约插入了 30,000 行,大约有 15 列。以上大约需要7分钟。如果我使用 MySQLdb 而不是 oursql,大约需要 2 秒。为什么会有这么大的差异?这应该在oursql中以其他方式完成吗,我们的oursql只是很慢?如果有更好的方法用我们的sql插入这些数据,如果你能告诉我,我将不胜感激。
谢谢。
【问题讨论】:
-
有没有看过oursql正在做的查询?
-
@Simeon 我不知道如何找到它。你能解释一下吗?
-
您可以查看mysql server logs。根据您观察到的时间差,我假设我们的 sqls executemany 执行 30k 单行插入,而 MySQLdb 一次插入多行。
标签: python mysql database oursql