alter session enable parallel dml ;
alter session disable parallel dml;
可以看到insert /*+ append */ into方式redo产生很少.
alter table redo_test nologging;
alter table redo_test logging;
Oracle10g中,我们可以设置commit的行为来做到在commit之后,控制权立刻返回给用户,而Oracle会在恰当的时候来唤醒LGWR,批量更新online redo log文件。
我们可以作系统级的更改:
ALTER SYSTEM SET COMMIT_WRITE = BATCH, NOWAIT
同样我们也可以在commit时单独使用,这样作虽然意味着即使commit了事务,在数据库恢复时也是不一定找得回来的。但从安全换效率的角度考虑,此做法也不失为权益之计。
COMMIT WRITE BATCH NOWAIT
/*+ append parallel(d,12) */ insert 表D开了12个进程
/*+ parallel(a,12) parallel(b,12) parallel(c,12) */ select 表a,b,c开了12个进程
[@more@]