插入语句中append提高效率问题介绍

插入语句中append提高效率问题介绍


对于sql中的插入语句中加入append能提高效率,是要看情况的。
这要看数据库是archivelog(归档日志模式)还是 noarchivelog(非归档日志模式),insert语句中增加append主要是减少redo log(重做日志)而已,因此效率会高点。

Noarchivelog(或Nologging)下 :  insert append只产生少量redo,会达到提高效率的目的。
archivelog模式下 :insert append和普通insert产生同样的redo,此时的insert append实际上并不会有性能提高,此情况下只有append+nologging才能减少redo。

语法:
INSERT/*+ append */ INTO sys_t_manage(..........);

此处有说道重做日志:在Oracle数据库中,默认情况下,至少会有两个 重做日志组,而且每个组里面至少包含了一个重做日志文件。日志组不会自动增加,在一个写满之后,会自动去写下一个。在下一个被写满之后会又从第一个开始写起。

对于归档日志模式的设置也不是随意进行的,要根据实际的项目需要进行设置,这点在下一篇中将会讲到。

你可能感兴趣的:(Oracle)