解决方案 »

  1.   

    使用下面的方式进行插入,你原来循环一条一条插入肯定会很慢的
    insert into train_01_test
    select rownum
    from dual
    connect by rownum<=100000
      

  2.   

    单机测试3秒,在服务器跑应该1秒能搞定吧
    SQL> CREATE TABLE TRAIN_01_TEST(TNUM NUMBER);表已创建。SQL> set timing on
    SQL> insert into train_01_test
      2  select rownum
      3  from dual
      4  connect by rownum<=100000;已创建100000行。已用时间:  00: 00: 03.09
    SQL> commit;提交完成。已用时间:  00: 00: 00.04
      

  3.   

    再加个append hint,减少日志量,会更好一点点
    insert /*+append*/ into train_01_test
    select rownum
    from dual
    connect by rownum<=100000
      

  4.   

    再加个append hint,减少日志量,会更好一点点
    insert /*+append*/ into train_01_test
    select rownum
    from dual
    connect by rownum<=100000

    多谢多谢,提交之后,数据10w条是乱序的,应该怎么解决呢
      

  5.   

    再加个append hint,减少日志量,会更好一点点
    insert /*+append*/ into train_01_test
    select rownum
    from dual
    connect by rownum<=100000

    多谢多谢,提交之后,数据10w条是乱序的,应该怎么解决呢
    表里的数据乱序,对你不重要吧~你要的是插入的速度。查询的时候加order by 就ok了
      

  6.   

    乱序没法处理的,这是oracle本身的机制,只能查询的时候增加order来处理