在Oracle里,
语句:insert /+append/ into table1 select * from table2
/*+APPEND*/不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据。也就是说,/*+APPEND*/在表的高水位上分配空间,不再使用表的extent中的空余空间。insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。
——由于减少对空间的搜索,以及有可能减少redolog的产生,使用append会增加数据插入的速度。
——归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo 。
—— 一般用于大数据量的处理。
——但建议不要经常使用append,这样表空间会一直在高水位上,除非你这个表只插不删 。