概述
今天做项目的一个需求,需要把其他地方的数据存储到本地数据里面
没想到一次踩了两个坑
因为需要保存的数据很大,而且每天都需要保存一次
第一次用的jpa的saveAll方法,测试了一遍,保存下来总共花了50分钟
老大看时间的太慢了,提醒了我一下,让我去深入看看jpa的底层
突然想到之前有点印象,在不追求性能的情况下可以使用jpa的批量插入,但是需要提升性能的时候就需要自己手动操作一波
然而因为之前都是用MySQL数据库,习惯的用了MySQL的批量插入的语法
再经过一阵子的折腾后,对自己的SQL语句不自信了,百度了一下,带了Oracle,果不其然,Oracle的批量插入的语法和MySQL的不一样。使用的是insert all into的语法。不过我用的是另一种。因为我使用的有自增id,不知道转化,也没仔细研究,直接再次问度娘
度娘也没让我失望,适合我的批量插入SQL出来了
insert into 表(id,demand)
select sequence_name.nextval,demand(
select 'a' from dual
union
select 'b' from dual
)
简单粗暴
唯一的不足是目前用的拼接字符串的恶心路子
做的比较匆忙
我相信应该有更好的办法
不知道有没大佬分享一下????
最后
以上就是飘逸花生为你收集整理的踩坑之路(jpa的批量插入) Oracle的全部内容,希望文章能够帮你解决踩坑之路(jpa的批量插入) Oracle所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复