解决方案 »

  1.   

    源数据是什么? 可以尝试直接物理文件导入如果不行的话,尝试用jdbc做批量插入不要一条一条插
      

  2.   

    效率和操作数据库的次数和java对象的创建个数有关
    楼主使用JDBC那么你的数据库连接是每操一次就创建一个,操作完后就close()吗?如果是这样的话,那肯定是需要很久的。
    至于数据库操作次数,如果楼主每次插一条的话,2000W次也是需要很久的。所以我建议,楼主的数据库连接用完之后不用close(),自己写一个jdbc的数据库连接池(很简单的)来存放Connection。至于次数问题,楼主可以没100条(或者更大)数据操作一次数据库,这样操作数据库的次数就小了至少100倍。
      

  3.   

    尽量减少数据库的操作,做到批量插入。
    hibernate应该有个saveOrUpdateAll的方法批量插入数据库
      

  4.   

    2千万数据 就被用程序了  而且你用的还是oracle试试oracle数据泵  或着 sqlldr吧   2千万最多2小时
      

  5.   

    但是我从昨天晚上开始插入到今天早上才插入了10万条记录???http://elf8848.iteye.com/blog/1547398
    这个感觉写的还不错
      

  6.   

    那样循环,会影响性能的,数据量过大,还是建议你自己创建连接,没插入一千条就close掉,然后再启动,那样会快点咯
      

  7.   


    那如果是这样的话,我用框架如(hibernate,ibatis)框架进行大数据量的插入 
    效率会不会更高? 他们用到的什么原理?