当我的python程序获取更多数据时,MySQL查询需要更长的时间

时间:2015-09-10 22:03:20

标签: python mysql sql

我的SQL数据库有大约200k个表,我正在制作一个简单的程序来从每个表中获取一些数据。查询类似于:

cur.execute("SELECT * FROM `%s`" % (tablename))

当我遍历表名列表并执行此查询时,每次都需要更长时间。在开始时,运行查询所需的时间不到1毫秒,但到最后每个查询最多需要70毫秒。

可能导致这种放缓的原因是什么?如果我让程序在中途休眠10秒钟,那么查询仍然和睡眠前一样慢。唯一让它快速恢复的是重启程序。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

[根据要求发布答案]

请参阅评论以获取一些有用的建议。

对于实际的短期解决方案,您可以尝试每1000个表关闭并重新打开连接。

但根本原因是你有太多的表,如果可能的话你应该解决这个问题。

答案 1 :(得分:0)

这可以通过每1000个请求重新连接到数据库来解决。