设置了_disable_logging参数,可以禁用日志的生成,从而提高某些测试的性能. 以下测试,纯属测试目的,其他内容请参考本站其他文章: http://www.eygle.com/archives/2006/04/more_about_disable_logging.html 禁用日志情况下: SQL> connect / as sysdba Total System Global Area 286755168 bytes NAME TYPE VALUE 测试创建100万数据表:
SQL> create table test as select * from dba_objects where 1=0; Table created. SQL> set timing on PL/SQL procedure suclearcase/" target="_blank" >ccessfully completed. Elapsed: 00:00:40.46 Table truncated. Elapsed: 00:00:52.72
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Fixed Size 731488 bytes
Variable Size 167772160 bytes
Database Buffers 117440512 bytes
Redo Buffers 811008 bytes
Database mounted.
Database opened.
SQL> connect eygle/eygle
Connected.
SQL> show parameter disable
------------------------------------ ----------- ------------------------------
_disable_logging boolean TRUE
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 /
SQL> truncate table test;
大约时间用了40秒.
再看正常日志生成下:
SQL> connect / as sysdba System altered. Elapsed: 00:00:00.05 Total System Global Area 286755168 bytes NAME TYPE VALUE PL/SQL procedure successfully completed. Elapsed: 00:01:54.04 Table truncated. Elapsed: 00:01:01.56 |
此时大约用时1分54秒.
两者差距为: 114 / 40 = 2.85 倍.
我们可以看出两者的差距是显著的.不作过多测试了,就此打住.大家有兴趣的可以自己测试一下.
以上测试的环境为:
SQL> select * from v$version; BANNER |
原文地址:http://www.eygle.com/archives/2006/04/disable_logging_performance.html