mysql批处理
mysql数据库dml语言天然支持批处理的操作有update,delete这两个天然就是批量数据处理的操作
insert语句需要改变写法,也能达到批处理的效果,insert into table(a,b,c) values((1,2,3),(,4,5,6));
所以想要mysql原生的批处理,可以直接用原生的sql语句写法,一条insert,delete,update,sql语句就可以解决!
jdbc批处理
jdbc批处理可以用addbatch(sql)方法来实现
如果只是想批量操作数据,可以使用原生的dml语句操作,一条insert,delete,update,sql语句就可以解决
如果是有一系列的sql语句需要打包统一发送给mysql处理,就可以使用addbatch方法,这个方法的原理是讲add进来的sql语句进行统一打包,执行executebatch的时候才会全部发送给mysql服务器,比传统的单条sql语句操作,更节省网络开销,不用发一个就返回一个结果,而是统一返回结果,效率更高,再配合事务的使用,关闭默认的开启事务,更能节省mysql的资源消耗,提高mysql服务器的存储引擎的执行效率
总结:
mysql的批处理在于客户端发送一条sql语句,mysql服务器操作批量的数据
jdbc批处理在于客户端将多条sql语句打包,统一发送给mysql服务器,使mysql服务器操作批量的数据,再配合事务的使用,使执行更高效