高分求教关于如何处理大数据量的问题

oodick 2012-12-04 10:50:26
现在的需求是将一个含有100万条数据的csv或者txt文件,通过java程序导入到数据库中,
我测试过分批次导入,就是每次导入1部分数据,但是效率还是很低下。又使用过调用oracle的sqlldr这个工具导入,效果还是不行,所以求教有做过大数据量处理经验的朋友帮忙,小弟感激不尽!!!
...全文
313 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
oodick 2012-12-19
  • 打赏
  • 举报
回复
引用 6 楼 zhaoxiangchong 的回复:
你用sqlload在服务上导入,不要在客户端。应该没有问题的
在服务上导入? 这个还真不清楚具体的,目前我们还是用在客户端上的导入,
oodick 2012-12-19
  • 打赏
  • 举报
回复
引用 9 楼 luoyoumou 的回复:
才100万......
我只是举个例子。。
呵呵112123 2012-12-18
  • 打赏
  • 举报
回复
直接用ETL工具,KETTLE。
事后诸葛亮 2012-12-18
  • 打赏
  • 举报
回复
用sqlldr吧,需要调整一下和性能相关的参数,这个很快的! http://blog.csdn.net/zq9017197/article/details/7352627
luoyoumou 2012-12-17
  • 打赏
  • 举报
回复
才100万......
cupid 2012-12-17
  • 打赏
  • 举报
回复
使用sqlloader操作100W应该很快的,表中有没有索引,如果有索引有是采用维持索引入库的方式,要慢一点是可以理解的,如果采用dirct=true这种方式入库,应该很快,但是索引被破坏了。
骥千里 2012-12-15
  • 打赏
  • 举报
回复
引用 5 楼 New_sara 的回复:
引用 4 楼 oodick 的回复:引用 1 楼 java3344520 的回复: 100W数据很少啊,应该很快的,是不是服务器性能不行啊, 还有个问题,如果通过jdbc插入千万级数据,有什么好办法能提高性能吗?请教 那你就用批处理。。batch
使用SQL预编译PrepareStatement和batch.
善若止水 2012-12-08
  • 打赏
  • 举报
回复
你用sqlload在服务上导入,不要在客户端。应该没有问题的
izj 2012-12-07
  • 打赏
  • 举报
回复
引用 4 楼 oodick 的回复:
引用 1 楼 java3344520 的回复: 100W数据很少啊,应该很快的,是不是服务器性能不行啊, 还有个问题,如果通过jdbc插入千万级数据,有什么好办法能提高性能吗?请教
那你就用批处理。。batch
oodick 2012-12-06
  • 打赏
  • 举报
回复
引用 1 楼 java3344520 的回复:
100W数据很少啊,应该很快的,是不是服务器性能不行啊,
还有个问题,如果通过jdbc插入千万级数据,有什么好办法能提高性能吗?请教
linwaterbin 2012-12-05
  • 打赏
  • 举报
回复
1)可以指定并行度+hint alter session enable parallel dml; insert /*+parallel()..... 2)利用临时表,大表的数据过滤到最小范围之后存到临时表里,同时临时调大pga_aggregate_target和改用TTG(临时表空间组),让insert 尽可能在pga区完成 3)索引,分区也可根据表结构和业务需求来建立,进而加快insert 4)可以利用外部表,不必导入,直接用 5)数据泵 --expdp impdp,这个应该可以满足你的要求,我的同事曾经用它导过TB级的数据
oodick 2012-12-05
  • 打赏
  • 举报
回复
感谢楼上2位的帮助,我先测试下,以前没这个经验
iqlife 2012-12-04
  • 打赏
  • 举报
回复
100W数据很少啊,应该很快的,是不是服务器性能不行啊,

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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