Oracle 并行技术

一、什么时候用并行

在OLAP系统中,当表的数据量很大,一般超过100W,sql执行时间很长超过10分钟,且执行计划正常时考虑使用并行,当然还需要数据库服务器是多核cpu,空闲资源多


二、怎么用并行

大部分的DML(insert/update/delete/merge)、DDL、Query都支持并行操作

QUERY :  强制使用并行,将session的并行度修改为8,alter session force parallel query parallel 8;    

或者在  select后面增加 hint    /*+ parallel(table_name, 8) */  只针对这条sql开启并行查询

DML: 只能强制显式使用并行,将session的并行度修改为8,alter session force parallel DML parallel 8;    

DDL: 可以强制使用并行,将session的并行度修改为8,alter session force parallel ddlparallel 8;    

或者在 ddl 语句后增加 parallel 8,并行创建表或索引后必须将表和索引的并行度改成1


三、使用并行的弊端

1.并行insert会浪费空间,因为默认加了/*+ append*/,直接路径插入,直接加载的数据放在表的高水位(High water Mark:hwm)以上,当直接加载完成后,Oracle 将表的高水位线移到新加入的数据之后

2.并行dml操作的表在当前会话必须提交或回滚后才能再次对其查询或执行dml操作,在其他会话也不能对其进行dml操作,只能查询,否则会报错

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值