【发布时间】:2012-11-19 07:22:48
【问题描述】:
我在调用 commit 之前执行了以下代码 25 次(非常简略)。
def query_and_insert(conn):
c = conn.cursor()
result = c.execute("SELECT ...")
result = modify_result(result)
c.execute("INSERT ...".format(result))
result.close()
if __name__ == "__main__":
conn = MySQLDB.connect(...)
loop 25 times:
query_and_insert(conn)
conn.commit()
conn.close()
在前 15 个左右的查询之后,速度显着降低(从每个查询/插入组合的 20 秒)。问题绝对不是我正在执行的查询的复杂性。将最后 10 个查询移到开头使它们运行得一样快,然后最后一个查询再次显着减慢。
对于在 AWS 上耗时过长的进程是否存在某种限制或优先级降低?有没有办法解决这个问题?
编辑:我们在 Amazon EC2 上使用 MicroInstance。构建表大小没有问题,因为我们在空表上进行插入。
【问题讨论】:
标签: python mysql amazon-web-services mysql-python