iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 并行案例解析
  • 563
分享到

Oracle 并行案例解析

2024-04-02 19:04:59 563人浏览 八月长安
摘要

|   0 | SELECT STATEMENT         |   &

|   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操作的处理速度一般非常快,不需要启用并行。




您可能感兴趣的文档:

--结束END--

本文标题: Oracle 并行案例解析

本文链接: https://www.lsjlt.com/news/41956.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Go中同时使用并发和并行编程的案例分析
    go 同时支持并发 (通过 goroutine) 和并行 (通过协程) 以提升效率。goroutine 允许同时执行独立任务,而通道则实现 goroutine 之间的通信。该示例演示了如...
    99+
    2024-05-12
    并发 并行 质数
  • oracle合并多个sys_refcursor的案例
    这篇文章给大家分享的是有关oracle合并多个sys_refcursor的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、背景在数据开发中,有时你需要合并两个动态游标sys...
    99+
    2024-04-02
  • Oracle rac案例讲解
    rac是什么? 多个不同服务器上的实例,访问共享的数据库文件,扩展了CPU和内存,提高性能;多节点,实现了HA。 rac解决什么问题 高可用性:自动切换、负载均衡 ...
    99+
    2024-04-02
  • golang中并发和并行的示例分析
    这篇文章主要介绍了golang中并发和并行的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是golanggolang 是Google开发的一种静态强类型、编译型、...
    99+
    2023-06-15
  • ActivityManagerService广播并行发送与串行发送示例解析
    目录"并行"广播的发送“串行”广播的发送广播发送给正在启动的进程广播 ANR结束"并行"广播的发送 本文以 Acti...
    99+
    2023-03-02
    ActivityManagerService广播并行发送 ActivityManagerService广播串行发送
  • Oracle中NEXTVAL案例详解
    1.什么是sequence?其作用是什么?         在Oracle数据库中,什么是序列呢?其中的作用是什...
    99+
    2024-04-02
  • C++ TinyXML解析案例详解
    目录TinyXML介绍TinyXML类说明下载和编译简单的例子读取XML写入xmlXML删除操作XML修改操作TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,...
    99+
    2024-04-02
  • Java并发之Condition案例详解
    目录一、Condition接口介绍和示例二、Condition接口常用方法三、Condition接口原理简单解析3.1、等待3.2、通知四、总结五、利用Condition实现生产者消...
    99+
    2024-04-02
  • JavaScript数组合并案例讲解
    方法一: var a = [1,2,3]; var b=[4,5] a = a.concat(b); console.log(a); //此处输出为 [1, 2, 3 ...
    99+
    2024-04-02
  • HTML 框架案例研究:成功案例解析
    ...
    99+
    2024-04-02
  • 怎么理解Oracle的并行执行
    这篇文章主要介绍“怎么理解Oracle的并行执行”,在日常操作中,相信很多人在怎么理解Oracle的并行执行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解Oracle...
    99+
    2024-04-02
  • awk多行合并的示例分析
    今天就跟大家聊聊有关awk多行合并的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。awknext语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。...
    99+
    2023-06-13
  • Python并行化执行详细解析
    目录例子:N体问题普通计算方法效果图Python 并行化执行再举一个例子前言: 并行编程比程序编程困难,除非正常编程需要创建大量数据,计算耗时太长,物理行为模拟困难 例子:N体问题 ...
    99+
    2024-04-02
  • oracle parallel 并行 设置 理解
    引子:以前一直没太关注oracle并行这个特性。前几天一个兄弟碰到的一个问题,才让我觉得这个东西还是有很多需要注意的地方,有必要仔细熟悉下。其实碰到的问题不复杂: 类似如下的一条语句:insert into...
    99+
    2024-04-02
  • 深入解析Python命令行参数并实例应用
    Python命令行参数详解及实例应用 在Python编程中,我们经常会需要从命令行中获取参数来执行不同的操作。Python内置了一个argparse模块,可以帮助我们解析命令行参数,并根据参数执行不同的逻辑。本文将详细介绍arg...
    99+
    2024-02-03
    实例应用 参数详解 标准库
  • python 装饰器案例解析
    本文介绍几个装饰器案例,来分析装饰器是如何调用的获取函数运行时间的例子写装饰器,不可以一步到位,要慢慢一点一点的来先写好2个函数import time def test1():    &nb...
    99+
    2023-01-30
    案例 python
  • Java AbstractMethodError案例分析详解
    背景 AbstractMethodError异常对于我来说还是比较不常遇见的,最近有幸遇到,并侥幸的解决了,在这里把此种场景剖析一番,进入正题,下面是AbstractMethodEr...
    99+
    2024-04-02
  • php案例:$_SERVER详解(图文并茂)
    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 前言$_SERVER['PHP_SELF']$_SERVER['SERVER_ADDR...
    99+
    2023-09-08
    php 服务器 apache
  • mysql多行变多列的案例分析
    这篇文章主要介绍了mysql多行变多列的案例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。MySQL中的行列变换mysql 行列转换 ,在项...
    99+
    2024-04-02
  • Python实际案例演示:一行 Python代码实现并行
    Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和 GIL,我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏"重"。而且往往隔靴搔痒,没有深入探讨日常...
    99+
    2023-06-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作