博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于redo size(一)
阅读量:6274 次
发布时间:2019-06-22

本文共 1036 字,大约阅读时间需要 3 分钟。

     要辞职了,总是无比轻松,于是今天闲着做了做1z0-042的题库,其中有一个关于truncate的,正确答案是truncate可以产生很少的redo,实践出真实,我做个试验验证一下。

     step1 建表

1 create table test as select * from dba_objects;

     step2 统计出现在的redosize

     

select name, value from v$sysstat a where a.name = 'redo size';

      记录下redo size:32378840。

     step3 truncate该表,之后统计redo size

 

truncate table test1;

      现在的redo size:32423748。

      可以看出,redo size增长了:44908。

      step4 删掉这张表,依上述法则重建,并且记录redo size。

      

1 drop table test1; 2 create table test1 as select * from dba_objects; 3 select name, value from v$sysstat a where a.name = 'redo size';

      现在的redo size:32737804。

      step5 用普通的办法删除,并记录redo size:

      

1 delete from test1; 2 commit; --commit本身不产生redo 3 select name, value from v$sysstat a where a.name = 'redo size';

     现在的redo size:59415540。

     与之前的记录数相减:26677736。

     由此可见,使用truncate的好处就是可以产生非常少量的redo,因此其删除速度理论上讲,要高于delete。在这实验之前,我们按照甲方要求,清空了一张3G大的数据表,当时因为对truncate认识不足,认为会占用很长的时间,因此我已经做好了将电脑留在办公室跑一夜的打算,但是没想到一眨眼的功夫,这样表就被清空了,可惜当时没有记录下redo size的变化,不然现在拿出来也是一个很好的例证。

     这就当作第一篇吧,以后还要慢慢的研究SQL和redo。

转载于:https://www.cnblogs.com/wingsless/archive/2011/12/06/2278618.html

你可能感兴趣的文章
使用guava来进行优雅的函数式编程
查看>>
C++ - 判断文件夹(folder)是否存在(exist)
查看>>
小程序-修改多级数据
查看>>
不管10天20天这都是个悲剧何必呢
查看>>
建立简单的FTP服务器
查看>>
OWA登录页面显示为英文而不是中文
查看>>
711B - 人性的弱点
查看>>
PHP使用Memached实现Session储存
查看>>
IDEA debug调试技巧
查看>>
非常好的Python学习资源收集整理
查看>>
java 图片等比压缩
查看>>
Oracle 创建普通用户,并赋予权限
查看>>
我的友情链接
查看>>
android工程目录结构,及相关文件获取方式(1)
查看>>
Vsftpd内网映射相关原理及配置
查看>>
Linux非对称路由
查看>>
在iOS 8中使用UIAlertController
查看>>
第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构...
查看>>
IOS开发—App 在 IOS 8 的simulator运行时,定位卡死bug解决
查看>>
windows 密钥登陆 linux
查看>>