JAVA循环大量插入数据库

0丁叮0 2017-11-06 03:29:30
加精
我目前做的功能是这样的,JAVA开启一个服务,这个服务长时间运行在服务器,解析固定文件夹里的文件,解析之后插入到数据库中(sql Server或Oracel),每个文件里大约会有100-500条记录需要插入到数据库,每天大约会有10W-20W个文件的数据需要插入到数据库中,就是每天大约需要插入2000W-3000W万的数据到数据库中。目前设计是每天自动创建一个表,插入方式是JDBC的PreparedStatement批处理模式,但是每解析一个文件就需要提交一次,来保证数据完整。但是每天的表插入到1000W的数据之后感觉再插入就会很慢,请问有什么好的方式能解决吗。
...全文
10027 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
Howe~zZ 2018-06-27
  • 打赏
  • 举报
回复
只能重新分表,你这样弄数据太夸张了
gh1223181184 2017-12-04
  • 打赏
  • 举报
回复
bulk insert
baidu_39257480 2017-11-27
  • 打赏
  • 举报
回复
要考虑数据分块存储,还有多进程问题
feng1234ss 2017-11-22
  • 打赏
  • 举报
回复
不错学习学习
sz_jack 2017-11-18
  • 打赏
  • 举报
回复
现在已经是一天一个表,表可以不用分了,还是看看cup/ios是够了,能不能多起个线程解析文件插入库操作,解析完成时候后移动到别目录下,目前的数据估计是一个小时需要处理100万数据。一分钟一万多,一个线程的最大是多少,而已还有看文件行的多少。还是优化后,试试多线程,
c782699991 2017-11-16
  • 打赏
  • 举报
回复
huibinwei 2017-11-14
  • 打赏
  • 举报
回复
可以用一个缓存,先存一下,然后在插入吗
4qw 2017-11-14
  • 打赏
  • 举报
回复
oracle有一个外部表的机制,就是建立一个表,这个表的数据是链接一个外部路径下的结构化的文件,这样子就可以直接解析到该文件了,然后将这个外部表解析出来的 数据插入到另外一个表里就行了;考虑到数据插入效率,可以建立一个分区表,可以按照每天进行分区,插入时数据就会自动插入到对应的分区中; 这种操作模式依赖的是数据库本身的机制,就不用通过编码语言进行相关设置了...至于多了文件,是否需要建立多个外部表就需要自己去百度了
jackeclipse 2017-11-13
  • 打赏
  • 举报
回复
你的表是不是有索引?大量插入时,先插入再建索引
天台的故事 2017-11-11
  • 打赏
  • 举报
回复
分表吧,数据量有点大啊
龙爷一号 2017-11-11
  • 打赏
  • 举报
回复
顶一个县!!!!!!!!!!!!
zdl3979375 2017-11-11
  • 打赏
  • 举报
回复
顶!!!!!!!!!!!!!!!!
qq_25427647 2017-11-09
  • 打赏
  • 举报
回复
好东西,真心感谢
吉普赛的歌 2017-11-09
  • 打赏
  • 举报
回复
送你一点好东西, http://blog.csdn.net/educast/article/details/72880224 可惜你结贴了, 俺拿不到分了……
ljheee 2017-11-09
  • 打赏
  • 举报
回复
分表吧,数据量有点大啊
astroboy0207 2017-11-08
  • 打赏
  • 举报
回复
大量插入数据,最好先不要加索引和主键,等插入完成后如果需要再去添加
爱睡觉的阿狸 2017-11-08
  • 打赏
  • 举报
回复
你每天可以创建两张表,插满1000w用另一张表。其次每50条左右,提交一次事务,避免占用太大的内存,影响系统运行。
qq_36580640 2017-11-08
  • 打赏
  • 举报
回复
1、建立小时的分表 2、用es存储数据
叮咚呛咚呛 2017-11-08
  • 打赏
  • 举报
回复
分库分表 你值得拥有
  • 打赏
  • 举报
回复
这个逻辑,除了jdbc技术方面的优化之外,业务本身就会是瓶颈,所有的数据都放到一个表,这肯定会影响效率的, 最快速解决的方法就是在数据库,将数据库分成多表,或者多库,比如说 根据时间分成上午和下午两个表,这明显就会提升效率,当然这这是一种举例,具体的还得和业务结合,大量数据存一个表 这种方式肯定是需要改善的,
加载更多回复(8)

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧