码迷,mamicode.com
首页 > 移动开发 > 详细

nolog使用insert append和parallel

时间:2019-07-23 15:03:02      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:into   大量   区别   覆盖   end   direct   高水位   red   strong   

logging或者nologging属性可以在表空间级别、表级别指定。表级别指定的属性会覆盖表空间级别的属性。

在非归档模式下:
1、在logging和nologging模式下,使用普通insert插入数据,会产生标准量的redo。
2、在logging和nologging模式下,使用inert/*+ append */插入数据,产生的redo大量减少。
3、综上:logging和nologging模式几乎没有区别。

在归档模式下:
1、在logging模式下,使用普通insert插入数据,会产生标准量的redo;而使用inert/*+ append */插入数据,产生的redo不会明显减少。
2、在nologging模式下,使用普通insert插入数据,会产生标准量的redo;而使用inert/*+ append */插入数据,产生的redo大量减少。

总结:

可见使用inert /*+ append */ 提高数据插入速度有2点原因:
1、append会在高水位线以上插入数据,不会检查高水位线之下的空闲块。
2、配合nologging属性,减少redo的产生。
3、减少undo的产生。

 

结论

最快的插入方法:

使用append insert方法:

alter table t nologging;

insert /*+ append */ into test.t select * from test.t2;

commit;

direct insert,时间最短效率最好。 

 

 

insert /*+ append parallel(t 4) */ into t select * from t2;     不如   direct insert

insert /*+ append */ into test.t select /*+parallel(4)*/ *  from test.t2; 不如   direct insert

 

nolog使用insert append和parallel

标签:into   大量   区别   覆盖   end   direct   高水位   red   strong   

原文地址:https://www.cnblogs.com/yueers/p/11231416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!