_disable_logging 有疑问?
将_disable_logging 改为TRUE,禁止日志,却发现DML的速度比不禁止日志还要慢,测试了好几遍,都是如此,只能上来请教高人了:
操作系统:WIN2000
计算机类型:普通台式机,IDE硬盘
Oracle:9.0.2.0.1
工作模式:非归档
一、将_disable_logging 设为TRUE
SQL> @f:\sql\show_para
输入 par 的值: logging
原值 3: y.inst_id=userenv('Instance') and x.indx=y.indx and x.ksppinm like '%_&par%' order by translate(x.ksppinm,'_','')
新值 3: y.inst_id=userenv('Instance') and x.indx=y.indx and x.ksppinm like '%_logging%' order by translate(x.ksppinm,'_','')
NAME VALUE ISDEFAULT ISMOD ISADJ
---------------------------------------- ------------------------- --------- ---------- -----
_disable_logging TRUE TRUE SYSTEM_MOD FALSE
已用时间: 00: 00: 00.00
SQL> begin
2 for i in 1..10000 loop
3 insert into u01.test select * from dba_objects where rownum<101;
4 commit;
5 end loop;
6 end;
7 /
PL/SQL 过程已成功完成。
已用时间: 00: 03: 34.06
可以看到,用时3分多
二、将_disable_logging 设为FALSE后:
SQL> begin
2 for i in 1..10000 loop
3 insert into test select * from dba_objects where rownum<101;
4 commit;
5 end loop;
6 end;
7 /
PL/SQL 过程已成功完成。
已用时间: 00: 02: 44.09
只用时两分多,生成日志比不生成日志还快,究竟怎么回事?
请高人指点
相关文章