MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 二三十万条数据 你是怎么一次性导入数据库的

二三十万条数据 你是怎么一次性导入数据库的

www.MyException.Cn  网友分享于:2013-03-19  浏览:89次
二三十万条数据 你是如何一次性导入数据库的?
请各位写下思路,或者贴出代码,
最好能发到邮箱,java_coding@126.com 谢谢。。。^_^

------解决方案--------------------
这问题问得,这二三十万是什么格式的数据?还是二三十万行的 INSERT 语句?
------解决方案--------------------
批量导入
或则多线程来
看到ls
我不敢回答问题了
------解决方案--------------------
批量是比较好的方式,而且不能一次性,要分批多次导入。

我真不敢说谁一次性敢导入这么多!
内存肯定受不了。

还有看你的数据有多大,一般情况下一千条提交一次,看你的机器性能。
------解决方案--------------------
应该是从文件读吧?2、30万放内存应该不现实。
读文件读到1万条记录,

用preparedStatement,
executeBatch()
commit。

继续读
------解决方案--------------------
批量插入 或者多线程吧
------解决方案--------------------
好像每种数据库都提供一种读大数据的方法的,不过我不是很清楚。
------解决方案--------------------
你的数据时什么格式的?如果是excel的可以用命令直接插入
------解决方案--------------------
Java code

for (int i = 1 ; i <=30 ; i++){
    先读取1W条,然后批量插入数据库中
    commit;
}

------解决方案--------------------
关注
------解决方案--------------------
几千行的Excel数据导入都要跑两分钟左右的,几十万行,估计是要崩掉的... ...
------解决方案--------------------
我以前用POI处理过EXCEL数据,但是能处理效率很低,后来我数据格式改成csv的,就好多了。

------解决方案--------------------
探讨
谢谢楼上各位的帮忙,我试过用循环50条数据commit一下,然后清空缓存关闭连接,之后又打开连接重复操作,貌似connection还是会爆掉。。。
另外在sqlserver下可以直接将Excel数据导入进去,但是会丢失部分数据,应该是格式的问题,不知道如何解决。
至于多线程我了解的不多,各位能否详细讲解一下,,谢谢。。。

------解决方案--------------------
探讨
引用:
这问题问得,这二三十万是什么格式的数据?还是二三十万行的 INSERT 语句?


比如二三十万行有规则的数据存放在excel文件中。。。如下:
a  b  c  d  e  f
a  b  c    e  f
a    c  d  e  f
a  b  c  d  e 
a  b  c  d    f
................
请帮忙哦。。。

------解决方案--------------------
批量导入数据库~

强烈建议不要自己写程序 实现,应该遵循如下原则:

1. 优先考虑使用 数据库 提供的批量导入命令实现,速度快,效率高(oracle 就有sqlldr命令)

2. 优先考虑使用命令行,直接导入.例如:insert table ……

3. 最后 才是考虑自己写程序 进行数据导入~

你就二三十万数据 算什么?也不算很大量的,我曾将将200万数据导入至 db2 至花了 5秒不到的时间。

我是用的db2 批量导入的命令:

db2 "export to RPT_DIRECTORY_FILE_new_1.txt of del select * from RPT_DIRECTORY_FILE where rpt_id in('A3015','A3021','A3037','A3047')"
------解决方案--------------------
imp buffer=大点 direct=y
------解决方案--------------------
分批是个好主意,一般1W条提交一次,这样不影响性能。
------解决方案--------------------
学习一下。
从来没导过这么多的数据。
------解决方案--------------------
同4楼
分批量提交
------解决方案--------------------
1000条提交一次,一会就搞定了。
------解决方案--------------------
50条一次的,批量执行,JDBC的。。我导过2000W的,都没有问题。只用了半天。2台电脑
------解决方案--------------------

文章评论

 程序员的样子
程序员的样子
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员的鄙视链
程序员的鄙视链
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
鲜为人知的编程真相
鲜为人知的编程真相
总结2014中国互联网十大段子
总结2014中国互联网十大段子
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
为什么程序员都是夜猫子
为什么程序员都是夜猫子
每天工作4小时的程序员
每天工作4小时的程序员
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员和编码员之间的区别
程序员和编码员之间的区别
代码女神横空出世
代码女神横空出世
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Java程序员必看电影
Java程序员必看电影
编程语言是女人
编程语言是女人
漫画:程序员的工作
漫画:程序员的工作
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
如何成为一名黑客
如何成为一名黑客
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
10个调试和排错的小建议
10个调试和排错的小建议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
我是如何打败拖延症的
我是如何打败拖延症的
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
旅行,写作,编程
旅行,写作,编程
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
一个程序员的时间管理
一个程序员的时间管理
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
我的丈夫是个程序员
我的丈夫是个程序员
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员必看的十大电影
程序员必看的十大电影
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有