oracle中设置数据表并行dml,ORACLE并行操作学习

1   并向操作

对于一个大的任务,一般的做法是利用一个进程,串行的执行,如果系统资源足够,可以采用parallel技术,把一个大的任务分成若干个小的任务,同时启用n个进程/线程,并行的处理这些小的任务,这些并发的进程称为并行执行服务器(parallel executeion server),这些并发进程由一个称为并发协调进程的进程来管理,可以让多个CPU同时处理一个计算任务,充分使用系统资源,提高计算效率。

1.1    使用场景

资源充分,并向操作设计为充分,完全地利用一台机器所有资源,在OLAP,DW系统中,用户少,这正是想要的。但是OLTP系统(用户多,且事务很快就不合适了)

1.1.1   使用条件

1)    大任务: 执行时间必须是分钟,小时级别。参与运算的数据量大。在当前系统初定于参与运算数据量大于10GB或者SQL运行时间超过30分钟可考虑使用并行。

2)    资源丰富(CPU,内存,磁盘IO):并向查询会过度使用资源,负面地影响总体性能和运行时间。

对于联机分析系OLTP系统,很不适用并向查询了,OLTP系统的执行都是小任务;其本身的并发访问很多,资源竞争激烈,相应时间比串行还长。

1.2    使用语句

1.2.1   并向查询

并行查询允许将一个sql select语句划分为多个较小的查询,每个部分的查询并发地运行,然后将各个部分的结果组合起来,提供最终的结果,多用于全表扫描,索引全扫描等,大表的扫描和连接、创建大的索引、分区索引扫描、大批量插入更新和删除

SQL> select /*+ parallel(t1 8) */ count(*) from t1;

SQL> select degree from user_tables where table_name='T1';

DEGREE

--------------------

DEFAULT

并行度为Default,其值由下面2个参数决定

SQL> show parameter cpu

NAME                                TYPE       VALUE

----------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值