论坛首页 Java版 企业应用

一次性插入十万条记录,如何控制在1秒之内?

浏览 15782 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-04-18
建议使用addbatch的同志,不要想了,这个比直接插入要慢,我在sybase中用过。
   
0 请登录后投票
最后更新时间:2008-04-18
给个数据你:
一万条数据
id,name,sex,age,phone,address
number(11),varchar(32),char,number(3),varchar(20),varchar(200)
在Oracle中花费23秒
在Mysql(InnoDB)中花费111秒
在Mysql(Falcon)中花费23秒
硬件: celeron 2.66G/1024M DDR2

用的是批处理
   
0 请登录后投票
最后更新时间:2008-04-19
mario 写道
不可能完成的任务吧。
  试想向文本中写10万行记录需要多长时间,数据库操作肯定比这个慢。不过没有做过10万条记录写文本测试。
  以前项目来不及写数据库的时候,先写入文档。然后晚上再写入数据库。
  不过10w/s....还是协商该需求吧。

不可能,写文本比写数据库慢。。。
时间要求是有点高,但是不是就随便改需求的。。。。
   
0 请登录后投票
最后更新时间:2008-04-19
看看电信的计费服务器是怎么做的?我估计得用它们这一级的解决方案了。哪位做过电信固话或移动电话的计费系统?说说如何插入数据库的。
   
0 请登录后投票
最后更新时间:2008-04-19
看了楼主的目标 突然有点神话般的感觉

首先的疑虑就是 能么?
   
0 请登录后投票
最后更新时间:2008-04-19
基本上如果这种配置,属于非常态的,能够完全能够达到4S以内的...都不用多线程啊....
   
0 请登录后投票
最后更新时间:2008-04-19
其实,楼主只是在挑战硬件极限了,因为他的CPU只有2.0,内存只有2G,根本不能满足长期插入10W条数据的,楼主这是在研究怎么样才能最大限度开发硬件资源。
   
0 请登录后投票
最后更新时间:2008-04-20
hustpk 写道
为什么要在1s内插入10万条数据呢?场景是什么?

对啊,程序也得看实际应用场合;而且可以通过硬件优化来弥补你的需求,视情况而定了。
   
0 请登录后投票
最后更新时间:2008-04-20
你不用写程序,硬件优化后,直接插入到数据库里边,如果1s都不够,
那你随便怎么插,都不可能了。
   
0 请登录后投票
最后更新时间:2008-04-21
如果是10W数据应该考虑是写个程序导入 而不是insert into
比如Oracle 可以用sqlldr 而且不会产生undo
说的不好 参考下吧
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐