append介绍
/+append/
1、概念:append 属于direct insert,归档模式下append table nologging
会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo。
2、优势:使用append,一是减少对空间的搜索;二是有可能减少redolog的产生。所以append方式会快很多,一般用于大数据量的处理。
3、用法
insert /*+append*/ into table1 select * from table2
/*+append*/
的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间。
在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。使用append会增加数据插入的速度。
建议不要经常使用append,这样表空间会一直在高水位上,除非你这个表只插不删
oracle日志模式
默认情况是logging,就是会记录到redo日志中,force logging是强制记录日志,nologging是尽量减少日志。
二、使用情况
1、logging模式
这是日志记录的缺省模式,无论数据库是否处于归档模式,这并不改变表空间与对象级别上的缺省的日志记录模式。对于临时表空间将不记录日志到联机重做日志文件。
2、nologing模式
此模式不是不记录日志,而是最小化日志产生的数量,通常在下列情况下使用NOLOGGING
nologing模式通常和append联合使用。
优化方向
EXECUTE IMMEDIATE 'ALTER TABLE table1 NOLOGGING';
insert /*+ append */ into table1 select * from table2;
commit;
EXECUTE IMMEDIATE 'ALTER TABLE table1 LOGGING';
标签:insert,table1,模式,使用,Oracle,日志,append
From: https://blog.csdn.net/weixin_44203221/article/details/140298647