|
wei-xh 发表于 2013-8-6 15:57
见15楼,里面有这个脚本。snap_sysev.sql
为什么我把seq的调用放入到PL/SQL里,LOG FILE SYCN次数就只有一次了。
不通过PL/SQL是可以的,log file sync与调用的次数是一样的,跟你是一致的。
SQL> execute snap_system_events.start_snap
declare
c number;
PL/SQL procedure successfully completed.
SQL> 2 3 begin
4 for i in 1 .. 1000 loop
5 select seq_xxx.nextval into c from dual;
6 commit write immediate wait;
7 end loop;
8 end;
9 /
execute snap_system_events.end_snap
PL/SQL procedure successfully completed.
SQL> ---------------------------------
System Waits:- 06-Aug 11:06:29
Interval:- 0 seconds
---------------------------------
Event Waits Time_outs Csec Avg Csec Max Csec
----- ----- --------- ---- -------- --------
rdbms ipc message 9 1 194 21.556 0
class slave wait 0 0 228 228.000 0
DIAG idle wait 1 1 100 100.000 0
control file sequential read 8 0 0 .000 0
log file parallel write 543 0 10 .018 0
log file sync 1 0 0 .000 0
SQL*Net message to client 5 0 0 .000 0
SQL*Net message from client 5 0 61 12.200 0
PL/SQL lock timer 1 1 100 100.000 0
LGWR wait for redo copy 75 0 0 .000 0
PL/SQL procedure successfully completed. |
|