mysql向数据库中插入数据的时候尤其是大数据量,例如亿级数据,要记得使用事物提交,将数据拼接起来一次性提交多条,可以大幅提升效率。经测试2亿条数据通过pymysql插入库中差不多需要4天,而事物提交后差不多40-50min就可以完成。
‘’‘
遍历输入数据把每一条拼接起来,如果字段太多直接用{}.format
’‘’
if len(values) > 0:
values += ",(\'%s\',\'%s\',\'%s\'')" % (value, value........)
process_count +=1
else:
values += "(\'%s\',\'%s\',\'%s\)" % (value, value, value.....)
process_count+=1
接着将数据批量插入即可
字段名最好用 esc底下的点号扩一下,不然有可能会报错,字段太多同样可以{}.format格式化输入
sql = "insert into table_name (`field_name1`,`field_name2`) values %s" %values
if process_count == 1000: (数据量大的话别拼接的太多了几千条应该可以没测试过)
cursor.execute(sql)
conn.commit()