关于ORACLE并发


然后自己网上查了一下,理解ORACLE并发技术可以将一个大任务分解为多个小任务由多个进程共同完成。合理地使用并发可以充分利用系统资源。

参考http://blog.itpub.net/18474/viewspace-1060729/

适用场合:

条件:1)大的任务,如全表扫描大表2)系统资源足够
场合:1)OLTP系统,有大量用户和session,2)数据仓库系统
Parallel query并发查询:
1)修改表属性

2)使用hint,select /*+parallel(t,8)*/ * from table t 

即开8个进程,这个可以自己设置,经理讲这个涉及到排队,让自己的查询先执行(不知道是不是这样)

并发与空间浪费:

Parallel DDL以及某些PDML依赖于direct path load,即绕过databuffer直接写数据文件。
例如,create table as select ,insert /*+APPEND */,
这会形成空间浪费,例如倒入1010M数据,每个extent 100m,direct path load会新分配100m 的extent来存放数据(如果有小于100m的extent,常规insert可以用这些空间)。假设10个并发,每个并发倒入101M数据,会创建2个extent,则总共会创建20个extent,则形成990m空间浪费。一方面浪费了空间(如果表创建之后有常规insert,则能使用这些空间),另一方面全表扫描时会搜索这些空的extent,这也降低了全表扫描的速度。
表空间的extent管理有两种方式:
1)unform size,则每个extent大小相同;uniform方式不支持extent trimming,
2)autoallocate是oracle 根据内部机制决定extent大小。而autoallocate在parallel dll中用到 extent trimming,减少空间浪费。
因此在频繁使用parallel DDL操作的表空间上,要么减少uniform size每个extent的大小,要么使用autoallocate ,以减少空间浪费。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值