MySQL批量插入多条数据

Mysql在插入大量数据(十万级或者百万级别)时效率会变得很差,所以需要采用以下方法来提高其插入效率。

a)      关闭自动提交 ,改为手动提交 

        connect.setAutoCommit(false);

        插入数据完后最后再con.commit();

b)      拆分数据,多线程入库

c)       一条插入语句插入多条数据

insert  into tableName (colume1,colume2, colume3)
         values(1,2,3,), (4,5,6,), (7,8,9) ........

d)      使用批处理

         可以加上批处理技术,但是使用了一条语句插入多条数据后,批处理的作用就不大了

可能碰到的问题

1. 因为一条sql语句可能会很大,但是Mysql数据库会对单次插入的数据大小有限制,所以应该更改数据库中的max_allowed_packet值,将此值调大即可,当该值过小时会抛出一个异常,根据异常的堆栈信息便可定位到解决方案


猜你喜欢

转载自blog.csdn.net/callmev6/article/details/80988917
今日推荐