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值,将此值调大即可,当该值过小时会抛出一个异常,根据异常的堆栈信息便可定位到解决方案


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值