首页 > 数据库技术 > 详细

Oracle 对比insert和delete操作产生的undo

时间:2019-11-28 10:43:04      阅读:156      评论:0      收藏:0      [点我收藏+]
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangqingxun/article/details/42098131

测试目标:对比insert和delete产生的undo数量的多少

 

  1. 测试准备:

 


SQL> select count(*) from a;
  COUNT(*)
----------
   2761600
Elapsed: 00:00:00.20


SQL> select blocks*8/1024 size_m from dba_tables where table_name=‘A‘;
    SIZE_M
----------
310.195313


测试1:删除数据

SQL> delete a;
2761600 rows deleted.
Elapsed: 00:00:28.06


SELECT  tablespace_name, status, SUM (bytes) / 1024 / 1024 "Bytes(M)"  
FROM dba_undo_extents GROUP BY   tablespace_name, status;


TABLESPACE_NAME                STATUS      Bytes(M)
------------------------------ --------- ----------
UNDOTBS1                       ACTIVE       639.125


结论1:删除操作生成的undo是原数据的2倍。


测试2:插入数据

SQL> insert into b select * from a;
2761600 rows created.
Elapsed: 00:00:08.02




TABLESPACE_NAME                STATUS      Bytes(M)
------------------------------ --------- ----------
UNDOTBS1                       ACTIVE            11


结论2:插入操作生成的undo是原数据的3.5% 。
 

Oracle 对比insert和delete操作产生的undo

原文:https://www.cnblogs.com/xibuhaohao/p/11947080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!