关于commit

金色闪光 2011-06-13 06:48:25
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秒
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdxinran 2011-06-20
  • 打赏
  • 举报
回复
不管你的insert数据量的大小,commit总是在瞬间完成
popo666 2011-06-14
  • 打赏
  • 举报
回复
只是状态的改变
304的的哥 2011-06-14
  • 打赏
  • 举报
回复
不管你的insert数据量的大小,commit总是在瞬间完成
tangren 2011-06-13
  • 打赏
  • 举报
回复
统计一下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;

如果剩余表空间小,是否是扩展表空间浪费了不少时间。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧