首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2012-03-18 
二三十万条数据 你是如何一次性导入数据库的?请各位写下思路,或者贴出代码,最好能发到邮箱,java_coding@12

二三十万条数据 你是如何一次性导入数据库的?
请各位写下思路,或者贴出代码,
最好能发到邮箱,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台电脑
------解决方案--------------------


呵呵。。不好意思。。我也碰到了类似的问题。。。
能否有高人贴点代码?很多方法尝试了都不行。可能是我代码的问题。
[解决办法]
ORACLE 的话,上面有说过用sqlldr
还可以import进来的。
[解决办法]
有没有不用写程序的阿,关注中。
[解决办法]
批量读取,一次插入一千条
用executeBatch()
[解决办法]
多线程~~
[解决办法]
才20万数据而已,直接导都没问题,只要不是操作很频繁的话
[解决办法]
期待中。。。
[解决办法]
你能否把excel文件生成一句句的insert语句,然后拉出脚本去执行
[解决办法]
程序导的速度比较慢.不知道楼主是什么数据库,我之前用的数据库是mysql,导过300W的数据如果楼主也是mysql的话可以直接用mysql-front客户端工具导,如果不是的话网上找下工具.
[解决办法]
如果想快速解决数据插入问题的话用sqlldr。
不过你的20,30w数据不大。用java进行批处理就可以了。
[解决办法]
调用存储过程来做不成问题
[解决办法]
这个问题我暂时不会,向各位学习~
[解决办法]
二三十万行数据导入 应该还好吧,我们公司导过900万的
[解决办法]

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

[解决办法]
看数据大小,读,缓存,多线程,一边执行一边读到缓存。设计一下呗。
[解决办法]
叮叮叮,顶起!!!!!!!!!!!!!!
[解决办法]
批量上传
[解决办法]
在SqlServer中有一条SQL语句就可以解决,我刚实现了一个导入800万数据的程序
[解决办法]
k看看 学习下
[解决办法]
Oracle数据库可能会有更好的解决办法
[解决办法]
看看 学习下
[解决办法]
才二三十万条,如果spl server,直接用它的导入数据就可以啦!也花不了多少时间!
[解决办法]
study...
[解决办法]
可以用SSIS吗?
[解决办法]
MK
[解决办法]
坐等真相帝...
[解决办法]
二三十万不大哦。sql直接导入一下子的事!
[解决办法]
想要通用,就用JDBC的PreparedStatement。
Connection会爆,大概是因为除了Connection以外的其他东西没有关闭,比如Statement之类。
[解决办法]
用jdbc的批量写入.jdbc可以一次写十万条数据.
------解决方案--------------------


考验性能的时候了。

热点排行