很不正常:
在a,b上需要建index。INSERT /*+ APPEND */ INTO c
select * from A where exists (select * from b where a.a=b.a) COMMIT;
这样没有用SGA里数据缓冲区和事物处理的回滚段, 也不写联机事物日志,
就象数据库装载工具SQLLOAD一样直接把数据写到物理文件,速度是很快的。
在a,b上需要建index。INSERT /*+ APPEND */ INTO c
select * from A where exists (select * from b where a.a=b.a) COMMIT;
这样没有用SGA里数据缓冲区和事物处理的回滚段, 也不写联机事物日志,
就象数据库装载工具SQLLOAD一样直接把数据写到物理文件,速度是很快的。
你可以分段提交,以缓解回滚压力。
或者直接给这个事务指定一个大的rollback seg。不过,你对c不加索引倒是可以理解,可为什么对ab也不加index呢?