|
唐sir:
这几天在看梁老师的书(收获,不止oracle),有一处产生些疑问
书上134-135页在讨论redo日志的大小,分为3种情况:删除,插入,更新
过程是这样的:
1,建表:create table t as select * from dba_objects;
2,删表内记录并查看日志:delete from t; 日志约:20MB
3,再插入数据并查看日志:insert into t select * from dba_objects; 日志约6MB
4,再更新记录并查看日志:update t set object_id=rownum; 日志约7MB
查看redo日志用创建视图的查询的方式:
create or replace view v_redo_size
as
select a.name,b.value
from v$statname a,v$mystat b
where a.statistic#=b.statistic#
and a.name='redo size';
最后得出的结论是,delete动作产生的redo日志最多,insert的最少
我在自己尝试的环节,发现结果跟这里不一样,结果为update最多(约35M),其次delete(约30M),最后是insert(10M)
我试了3次,都是类似的结果,update最多
这与书上的结论差距很大,尤其在update日志大小的结果上
请教唐sir,结论真的是delete最多吗?我做出来的结果不对,是哪里错错了?
|
|