关于数据库批量插入操作的实现方式比较
这里是关于批量数据入库操作的疑问。
在java代码里我们一般都是用statement的executeBatch方法实现批量数据入库操作。
还有一种SQL方式:insert into test(id,name) values('1','Jerry'),('2','Tom'),.....('n','Neo');这样看来,只要拼接好一条SQL,通过statement的execute方法就能实现批量插入操作。但是一般平台开发都不会用这种方式。
请教下大家有没有研究过,这两种方式在数据中时怎么解析的?
batch操作,是不是就是将一批SQL同时提交给数据库,然后一条条执行?
而values方法,如果有多个()值,数据库又是怎么操作的?
总而言之,这两者的效率差别如何?
ps:自己做了些测试,但是随着批量操作的数据量不同,得到的耗时结果不一样,比较疑惑。