Python MySQLdb随机崩溃而没有错误

时间:2015-08-30 19:48:57

标签: python mysql mysql-python

我使用Python和MySQLdb在大型75M行数据库上执行一些计算。基本的程序流程是迭代每一行,处理数据,然后使用另一个游标将新数据放回到行中。对于纯SQL,处理过于复杂。

db1 = MySQLdb.connect(host=HOST, user=USERNAME, passwd=PASSWORD, db=DATABASE)
db1.ping(True)
cursor1 = db1.cursor()
db = MySQLdb.connect(host=HOST, user=USERNAME, passwd=PASSWORD, db=DATABASE)
db2.ping(True)
cursor2 = db2.cursor()

cursor1.execute("SELECT * FROM table")
for row in cursor1:
    cursor2.execute("SELECT * FROM table")
    new_data    = process_stuff(row)

    cursor2.execute("UPDATE table SET column = '%f'", (new_data))

db2.commit()
db1.close()
db2.close()

这通常是有效的。但很多时候,它会默默地退出而不会显示错误消息。有时,但并非总是如此,它会给出一个" MySQL已经消失了#34;错误。

它也很慢。我知道它是一个相当大的数据库,但处理所有内容大约需要24小时。它是一台拥有24 GB内存的不错的机器,但它真的需要这么久吗?我花了好几个小时摆弄my.conf,没有真正的收获。

0 个答案:

没有答案