版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

测试目标:对比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的更多相关文章

  1. LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...

  2. 基于SQL Server日志链查看数据库insert/update/delete操作(一)

    在MSSQLServer2008下的语句 不同版本可能语句会有微小差别 SELECT [Slot ID], [Transaction ID], Operation, AllocUnitName, [C ...

  3. [Oracle]索引对insert和delete操作的影响

    主键也是索引的一种,在索引中,不仅存储了索引列上的数据,而且还存储了一个ROWID的值.ROWID是表中一个伪列,是数据库服务自动添加的,表中的每一行数据都有一个ROWID值,它代表这一行的标识,即一 ...

  4. [转]NHibernate之旅(5):探索Insert, Update, Delete操作

    本节内容 操作数据概述 1.新建对象 2.删除对象 3.更新对象 4.保存更新对象 结语 操作数据概述 我们常常所说的一个工作单元,通常是执行1个或多个操作,对这些操作要么提交要么放弃/回滚.想想使用 ...

  5. 二叉查找树的Insert和Delete操作

    struct TreeNode{ SearchTree Left; SearchTree Right; ElementType Ele; }; /*递归一定有出口*/ /*递归代码就是要重复使用*/ ...

  6. sqlserver 大数据量的insert、delete操作优化

    http://blog.csdn.net/lanyuzhen/article/details/7547476 --大批量导出orders表:insert DBCC DROPCLEANBUFFERS   ...

  7. oracle数据库删除数据Delete语句和Truncate语句的对比

    oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...

  8. Oracle 增删改(INSERT、DELETE、UPDATE)语句

    Ø  简介 本文介绍 Oracle 中的增删改语句,即 INSERT.DELETE.UPDATE 语句的使用.是时候展现真正的技术了,快上车: 1.   插入数据(INSERT) 2.   修改数据( ...

  9. Mybatis之执行insert、update和delete操作时自动提交

    单独使用Mybaits,而没有集成Spring的话,执行insert.update和delete操作是不会自动提交的,即执行语句后不会在数据库有对应的数据变化. 解决这样的方法就是打开自动提交开关,在 ...

随机推荐

  1. day23——继承

    day23 初识继承 字面意思:儿子可以完全使用父亲的所有内容 专业角度:如果B类继承A类, B类就称为子类.派生类 A类就称为父类.基类.超类 面向对象三大特性:继承.封装.多态 继承:单继承.多继 ...

  2. zookeeper从入门到精通视频教程(含网盘下载地址)

    Zookeeper视频教程链接:https://pan.baidu.com/s/1V9YZN5F3sTKQJOhiDt9hnA 提取码:rtgl

  3. stompjs, websocket和nginx的配置

    server {    listen 8080; location /socket/ {        proxy_pass http://socket_server/;        proxy_s ...

  4. 【题解】Luogu P5358 [SDOI2019]快速查询

    原题传送门 神鱼说这道题是强制离线(smog 我们珂以把被单点修改,单点查询的点单独拿出来处理,把每个数表示成\(mul*x+plus\) 初始状态下\(mul=1,plus=0\) 操作1:在总和中 ...

  5. WPF 很少人知道的科技

    原文:WPF 很少人知道的科技 本文介绍不那么常见的 WPF 相关的知识. 本文内容 在 C# 代码中创建 DataTemplate 多个数据源合并为一个列表显示 使用附加属性做缓存,避免内存泄漏 使 ...

  6. C# vb .net图像合成-合成星形

    在.net中,如何简单快捷地实现图像合成呢,比如合成文字,合成艺术字,多张图片叠加合成等等?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码 ...

  7. NEST 自定义分析器

    public void SetAnalysis() { if (!client.IndexExists("employee").Exists) { client.CreateInd ...

  8. golang中生成读取二维码(skip2/go-qrcode和boombuler/barcode,tuotoo/qrcode)

     1 引言 在github上有好用golan二维码生成和读取库,两个生成二维码的qrcode库和一个读取qrcode库. skip2/go-qrcode生成二维码,github地址:https://g ...

  9. k8s--scope.yaml

  10. python基础之猜数字游戏

    #猜数字游戏 import random #impor语句导入random模块 guessor=0; print("#"*30) #输出30个”#“(”############## ...