ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 几年前的一个关于 archive+parallel+append+nologging的一个测试

几年前的一个关于 archive+parallel+append+nologging的一个测试

原创 Linux操作系统 作者:debug200 时间:2013-01-22 15:06:49 0 删除 编辑

总结:

 

理论上讲,只要启用直接路径插入方式(所谓直接路径插入,就是绕过Buffer cache,直接将数据插入进表所在数据文件中),就几乎不产生undo,而redo不是不产生,只是产生的要比原先少得多.
而启用直接路径插入方式最常用的2种方法是(当然SQL*Loader直接路径加载方式也是一种):
1.insert into
带/*+ APPEND */提示
2.
开启并行,并行模式下insert into默认使用直接路径插入
另外表的NOLOGGING属性在归档模式下有2种明显影响:
1.
归档且并行模式下,创建表时带nologging选项的与不带该选项的相比,虽然redo,undo方面相当,但前者的速度明显要比后者快好几倍(这可以通过第7组与第8组的测试数据看出,这里是快7~8倍)
2.
归档且串行模式下,且正确使用APPEND提示语法时,创建表时带nologging选项的与不带该选项的相比,虽然都不产生undo,但前者明显比后者产生的redo量要小数百倍,速度上也要快好几倍(这可以通过第5组的第三项测试与第6组的第三项测试对比看出,redo量小1300倍,速度快5倍)
除此之外NOLOGGING选项的最佳应用场景是对象的DDL创建过程中使用:如create table xxx NOLOGGING as select …或create index ind_name … NOLOGGING;
该测试也验证了Oracle官方文档上的这句话"When you are inserting in parallel DML mode, direct-path INSERT is the default."

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14385647/viewspace-753044/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: gg
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-11-05

  • 博文量
    24
  • 访问量
    28073