|
def insert_data():
sql = "insert into deposit_order(id,status,account_id,amount,type,bank_code,card_no,seq,channel_code,created_time,modify_time,finish_time)VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
zj = ZhongJin('20150411')
num = 100000
params = zj.get_zhongjin_params(num)
if len(params) > 5000:
for i in range(len(params) / 5000):
print(mysql.executemany(sql, params[:5000]))
params[:5000] = []
print datetime.datetime.now()
if len(params) < 5000:
print mysql.executemany(sql, params)
print datetime.datetime.now()
def executemany(self, sql, params=None):
cursor = self.get_cursor()
try:
cursor.executemany(sql, params)
self.conn.commit()
affected_rows = cursor.rowcount
except Exception, e:
logging.error("mysql executemany error: %s", e)
return 0
finally:
cursor.close()
return affected_rows
刚刚写了上面的方法,实现python批量insert mysql数据库。
最后的结果是:
10万条数据,没5000条提交一次,最后的使用时间是6分钟!
这样的效率不知道算不算差,但不能满足我但需求啊,10万条希望能在1分钟内入库完成,请高手们支招啊。
|
|