在insert into table_name select语句中,如果select出来的数据量很庞大,可以使用insert /*+append+*/ into table_name select以提高效率。
oracle append有什么作用,为什么能提高效率呢?因为在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据,因此不需要寻找freelist;且append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append也会大量减少日志,append方式插入只会产生很少的undo,因此效率提高很多。