maxtransops只适用于classic模式,会对大事务进行拆分,默认值非常大,设置为较小值会将大事务分割为小事务,所以理论上,大事务不会再作为一整个事务,所以需要谨慎设置该参数。
下面测试在集成模式下、classic模式下,测试classic+maxtransops对效率提升。
1.集成模式
集成模式并行是根据事务拆分,并不是根据操作,源端事务在目标端也是一整个事务,所以理论上集成模式并行对大事务相比经典模式提升较为有限,对OLTP类小事务提升较为明显。
1.1 源端模拟插入大事务
源端执行大事务插入:
begin
for i in 1..3000000
loop
insert into test values(i,'''czh||i||''');
end loop;
commit;
end;
/
Elapsed: 00:03:59.32
1.2 目标端监视表数据
while true
do
date >> hr_count.log
sqlplus -S / as sysdba >> hr_count.log <<EOF
select count(*) from hr.test;
EOF
sleep 1
done
1.3 监视表上活动事务以及消耗undo情况
col sid for 99999
col serial