我有一个拥有超过100万行数据的大型数据库。我使用python脚本将这些数据的几百万行传输到另一台服务器上的另一个数据库。我正在使用游标对象来获取和插入数据。有效的方法是什么?
我现在在做什么:
sql2 = 'INSERT IGNORE INTO user_session(id, record_time, app_id_for_os, user_id, device_id, action) VALUES(%s, %s, %s, %s, %s, %s)'
ts3 = time.time()
for row in readCur:
_id = row['id']
record_time = row['record_time']
app_id_for_os = row['app_id_for_os']
user_id = row['user_id']
device_id = row['device_id']
action = row['action']
writeCur.execute(sql2,(_id, record_time, app_id_for_os, user_id, device_id, action))
cnx2.commit()
答案 0 :(得分:1)
如上所述,MySQL转储是一种选择。 如果您仍想使用python,则应使用cursor.executemany(operation, seq_of_params),这是向表中插入大量值的更有效方法。