我想问一下大家
1、insert into table select a,b,c from table2
2、PreparedStatement(用addBatch)
3、PreparedStatement(不用addBatch)
4、Statement(用addBatch)
5、Statement(不用addBatch)
我的数据库是oracle 每次导入的数据量大概在2000--40000之间 这几种方式哪个比较快,顺便再问一下oracle一秒最快能导多少条记录 谢谢大家

解决方案 »

  1.   

    现在导数据很慢 ,查询的那个表数据量大 400多万 而且查询的条件 很多 ,现在我又有个事不明白了,为了找瓶颈 我直接用stmt 那么做的 在while(rs.next())里我并没进行insert操作 只是输出 i++ 我发现 屏幕基本都是10个一组10个一组打印出的 我用两条查询结构差不多的sql语句 分别运行 一条的查询结果是40000条数据 一条的查询结果是3000条数据
    为什么结果40000条的打印反而快呢(基本不停) 而3000条的每打印10条基本就小卡一下有时候还卡很长时间。有没有遇到过类似这种情况的同志呀?!
      

  2.   

    现在好象找到点原因了 查询出4w条记录的那条语句 用500msec就运行完了 查询出 3000条的用了3sec ,rs.next是什么机制 难道每次rs.next 都要查一遍吗?请大家指点一下 实在是有点晕了 谢谢!!!
      

  3.   

    批量导入数据的话最好用数据库本身提供的一些工具做,比如oracle的sqlloader肯定比你写在java里快多了