使用python将大量数据插入MySQL表的有效方法是什么?

时间:2015-08-13 21:14:57

标签: python mysql

我有一个拥有超过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()

1 个答案:

答案 0 :(得分:1)

如上所述,MySQL转储是一种选择。 如果您仍想使用python,则应使用cursor.executemany(operation, seq_of_params),这是向表中插入大量值的更有效方法。