RT,有一张表A    我是这样insert的insert into A select * from m;
commit;
insert into A select * from n;
commit;其中m表有60万行,n表有80万行这是个存储过程,过程执行了很久很久,我查看A表的记录条数,执行了很久,估计有15分钟,一直是0条,然后突然变成了140万条,理论上来说应该是先提交60万  之后才到140万呀   怎么突然从0飙到140万呢,这个过程相差不到5秒

解决方案 »

  1.   

    统计一下A表数据占用的段空间大小
    SELECT SUM(t.BYTES) / 1048576
      FROM user_segments t
     WHERE t.segment_name = 'A';查看一下该表所在表空间剩余表空间大小。
    SELECT t.TABLESPACE_NAME, SUM(t.BYTES) / 1048576
      FROM dba_free_space t
     GROUP BY t.TABLESPACE_NAME;如果剩余表空间小,是否是扩展表空间浪费了不少时间。
      

  2.   

    不管你的insert数据量的大小,commit总是在瞬间完成
      

  3.   

    不管你的insert数据量的大小,commit总是在瞬间完成