归档模式下的 nologging和/*+ append */参数 性能测试

今天新安装配置了一台oracle数据库服务器,对在归档模式下的数据处理进行了测试。分别执行如下语句
create table test as select * from dba_objects;
或者
create table test nologging as select * from dba_objects;
insert into test select * from test;
或者
insert /*+ append */ into test select * from test;
其中insert 多次执行
这里run是执行的次数,insert count是插入的行数,nocommit是每次插入都不提交,commit是每次插入后提交,/*+append*/也是每次插入后都提交,/*+append*/ nologging是在第一次创建表的时候增加nologging参数
结果如下:

runinsert countnocommitcommit/*+append*/
14979000: 00: 00.3100: 00: 00.2900: 00: 00.73
29958000: 00: 00.2100: 00: 00.2300: 00: 00.71
319916000: 00: 01.7300: 00: 02.7500: 00: 04.21
439832000: 00: 03.2000: 00: 03.0900: 00: 06.14
579664000: 00: 32.8500: 00: 32.2100: 00: 12.11
6159328000: 01: 11.9300: 01: 10.8900: 00: 23.18
7318656000: 02: 18.7000: 02: 33.2900: 00: 45.90
drop table00: 02: 38.3100: 02: 42.0100: 00: 00.56
archive log710MB710MB710MB

runinsert count/*+append*/ nologging
14979000: 00: 00.64
29958000: 00: 00.92
319916000: 00: 01.68
439832000: 00: 02.82
579664000: 00: 04.57
6159328000: 00: 09.23
7318656000: 00: 17.65
drop table00: 00: 00.64
archive log900KB

从这个时间的花费上来看 很明显的可以得出以下结论:
1.插入表的耗时随着数据量的增大,基本上是跟数据量成比例的,但是在数据量很小的情况下几乎没有差异。
2.使用append参数,可以有效的减少数据的插入时间。
3.不使用append参数的表 丢弃的时间甚至比最后一次插入的时间还要久,而使用append参数的表丢弃的时间非常短,当然此时实际的数据量是最后一次提交的两倍,因为append参数的作用大家都知道是在每次提交前紧接着前面的数据来存放记录,因此被丢弃的表的数据在一个同一个或者相邻的数据块的情况下速度非常快,反之则非常慢,同理也应该不难得出 在对表进行扫描的情况下数据存放在相邻块的表肯定效率也会是非常高的。
4.append在没有使用nologging的情况下,并不会减少归档日志的产生。
5.将表改为nologging属性的情况下插入数据,几乎不会产生归档日志,但前提是必须要使用append参数,否则产生依然会产生归档日志,只不过表在创建时不会产生归档,我在使用nologging同时不加append的情况下,产生的归档是690M左右,这也就能证明刚才的结论了。

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

转载于:http://blog.itpub.net/12216142/viewspace-613951/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值