Я цикл запросов несколько диапазонов дат:Mysql Диапазон дат запросов Петля в Python
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 # <-- time period
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()
Он работает молниеносно первые несколько петель, иногда даже все из них, но болота значительно время от времени. Есть другие действия, происходящие в базе данных из разных мест ... Есть ли что-то, что я могу сделать, чтобы гарантировать, что мой запрос имеет приоритет? Что-то вроде транзакции?
######### EDITя уведомление, если я перееду кон = MSQLdb ... внутри функции load_data_window, я получаю очень быстрые результаты, а затем заболачивания, в то время как, если я держу con = MSQLdb ... вне его последовательно медленнее ...
Олли, спасибо за ваш вклад. Я даю вам точку для всех замечательных отзывов и предложений. Я оставляю вопрос открытым, на случай, если у кого-то появится больше информации. Это довольно открытый вопрос, так что спасибо за ваше время. –