我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle 并行案例解析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle 并行案例解析

|   0 | SELECT STATEMENT         |          |   107 |  2782 |     3  (34)| 00:00:01 |        |      |            |
|   1 |  PX COORDINATOR          |          |       |       |            |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)    | :TQ10001 |   107 |  2782 |     3  (34)| 00:00:01 |  Q1,01 | P->S | QC (RAND)  |
|   3 |    HASH GROUP BY         |          |   107 |  2782 |     3  (34)| 00:00:01 |  Q1,01 | PCWP |            |
|   4 |     PX RECEIVE           |          |   107 |  2782 |     3  (34)| 00:00:01 |  Q1,01 | PCWP |            |
|   5 |      PX SEND HASH        | :TQ10000 |   107 |  2782 |     3  (34)| 00:00:01 |  Q1,00 | P->P | HASH       |
|   6 |       HASH GROUP BY      |          |   107 |  2782 |     3  (34)| 00:00:01 |  Q1,00 | PCWP |            |
|   7 |        PX BLOCK ITERATOR |          |   107 |  2782 |     2   (0)| 00:00:01 |  Q1,00 | PCWC |            |
|   8 |         TABLE ACCESS FULL| TEST     |   107 |  2782 |     2   (0)| 00:00:01 |  Q1,00 | PCWP 
 
执行步骤: 
1、并行服务进程TEST表进行全表扫描。 
2、并行服务进程以ITERATOR(迭代)方式访问数据块,也就是并行协调进程分给每个并行服务进程一个数据片,在这个数据片上,并行服务进程顺序地访问每个数据块(Iterator),所有的并行服务进程将扫描的数据块传给另一组并行服务进程(父进程)用于做Hash Group操作。 
3、并行服务父进程对子进程传递过来的数据做Hash Group操作。 
4、并行服务进程(子进程)将处理完的数据发送出去。 
5、并行服务进程(父进程)接收到处理过的数据。 
6、合并处理过的数据,按照随机的顺序发给并行协调进程(QC:Query Conordinator)。 

7、并行协调进程将处理结果发给用户。


并行机制:|@|首先Oracle会创建一个进程用于协调并行服务进程之间的信息传递,这个协调进程将需要操作的数据集(比如表的数据块)分割成很多部分,称为并行处理单元,然后并行协调进程给每个并行进程分配一个数据单元。|@||@|比如有四个并行服务进程,他们就会同时处理各自分配的单元,当一个并行服务进程处理完毕后,协调进程就会给它们分配另外的单元,如此反复,直到表上的数据都处理完毕,最后协调进程负责将每个小的集合合并为一个大集合作为最终的执行结果,返回给用户。|@||@|并行处理的机制实际上就是把一个要扫描的数据集分成很多小数据集,Oracle会启动几个并行服务进程同时处理这些小数据集,最后将这些结果汇总,作为最终的处理结果返回给用户。 |@||@|这种数据并行处理方式在OLAP系统中非常有用,OLAP系统的表通常来说都是非常大,如果系统的CPU比较多,让所有的CPU共同来处理这些数据,效果就会比串行执行要高得多。 |@||@|然而对于OLTP系统,通常来讲,并行并不合适,原因是OLTP系统上几乎在所有的SQL操作中,数据访问路径基本上以索引访问为主,并且返回结果集非常小,这样的SQL操作的处理速度一般非常快,不需要启用并行。




免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle 并行案例解析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Go中同时使用并发和并行编程的案例分析

go 同时支持并发 (通过 goroutine) 和并行 (通过协程) 以提升效率。goroutine 允许同时执行独立任务,而通道则实现 goroutine 之间的通信。该示例演示了如何使用并发和并行计算质数,提高计算效率。使用 Go 进
Go中同时使用并发和并行编程的案例分析
2024-05-12

ActivityManagerService广播并行发送与串行发送示例解析

这篇文章主要为大家介绍了ActivityManagerService广播并行发送与串行发送示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-03-02

golang中并发和并行的示例分析

这篇文章主要介绍了golang中并发和并行的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是golanggolang 是Google开发的一种静态强类型、编译型、
2023-06-15

awk多行合并的示例分析

今天就跟大家聊聊有关awk多行合并的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。awknext语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。
2023-06-13

深入解析Python命令行参数并实例应用

Python命令行参数详解及实例应用在Python编程中,我们经常会需要从命令行中获取参数来执行不同的操作。Python内置了一个argparse模块,可以帮助我们解析命令行参数,并根据参数执行不同的逻辑。本文将详细介绍argparse模
深入解析Python命令行参数并实例应用
2024-02-03

python 装饰器案例解析

本文介绍几个装饰器案例,来分析装饰器是如何调用的获取函数运行时间的例子写装饰器,不可以一步到位,要慢慢一点一点的来先写好2个函数importtimedeftest1():time.sleep(1)print(inthetest1)defte
2023-01-30

编程热搜

目录