我在循环查询几个日期范围:con = MySQLdb.connect(host='xxx.com', port=3306,user='user', passwd='pass', db='db')
intervals = 10
precision = 1
dateChunks = list()
for i in range(0,intervals,precision):
results = load_data_window(i,precision)
dateChunks.append(results)
def load_data_window(start,precision):
length = start + precision #
limit = 20000
cur = con.cursor()
sql = "SELECT data FROM table WHERE date < DATE_SUB(NOW(), INTERVAL %s HOUR) AND date > DATE_SUB(NOW(), INTERVAL %s HOUR)"
cur.execute(sql,(start,length))
results = cur.fetchall()
它在前几个循环中工作得很快,有时甚至是全部循环,但有时会严重停滞。在数据库中还有来自不同地方的其他操作。。。我能做些什么来确保我的查询有优先权吗?像是交易?在
#########编辑
我注意到了,如果我移动con=MSQLdb。。。在load_data_window函数中,我得到非常快的结果,然后陷入停滞,而如果我保持con=MSQLdb。。。在外面它总是比较慢。。。在