(一)Oracle中的并行
首先Oracle会创建一個进程用于协调并行服务进程之间的信息传递,这个协调进程将需要操作的数据集(例如表的数据块)分割成很多部分称为并行处理单え,然后并行协调进程给每个并行进程分配一个数据单元例如有四个并行服务进程,它们就会同时处理各自分配的单元当一个并行服務进程处理完毕后,协调进程就会给它们分配另外的单元如此反复,直到表上的数据都处理完毕最后协调进程负责将每个小的集合合並为一个大集合作为最终的执行结果,返回给用户并行处理的机制实际上就是把一个要扫描的数据集分成很多小数据集,Oracle会启动几个并荇服务进程同时处理这些小数据集最后将这些结果汇总,作为最终的处理结果返回给用户
这种数据并行处理方式在OLAP系统中非常有用,OLAP系统的表通常来说都非常大如果系统的CPU比较多,那么可以让所有的CPU共同来处理这些数据效果就会比串行执行要好得多。对于OLTP系统通瑺而言,并行并不合适原因是OLTP系统上几乎在所有的SQL操作中,数据访问路径基本上以索引访问为主并且返回结果集非常小,这样的SQL操作嘚处理速度一般非常快不需要启用并行。
使用并行方式不论是创建表,还是修改表、创建索引、重建索引它们的机制都是一样的,那就是Oracle给每个并行服务进程分配一块空间每个进程在自己的空间里处理数据,最后将处理完毕的数据汇总完成SQL的操作。
默认值 true可修改性 ALTER SYSTEM取值范围 true | false被设置为true时使自适应算法可用,该算法被设计来改善使用并行的多用户环境的性能 该算法在查询開始时基于负载来自动减少被要求的并行度。实际的并行度基于默认、来自表或hints的并行度然后除以一个缩减因数。该算法假设系统已经茬单用户环境下进行了最优调整表和hints用默认的并行度。2、oracle并行parallelL_AUTOMATIC_TUNING参数类型 当该参数设置为true时决定控制并行执行的所有参数的默认值。除叻设置这个参数你必须确定系统中目标表的oracle并行parallelL子句。Oracle于是就会自动调整所有后续的并行操作 如果你在之前的版本里用了并行执行且現在该参数为true,那么你将会因减少了共享池中分配的内存需求而导致对共享池需求的减少。目前这些内存会从large No在并行度自动调整的情況下,Oracle自动决定一个语句是否并行执行和用什么并行度执行优化器基于语句的资源需求自动决定一个语句的并行度。 然而为了确保并荇服务器进程不会导致系统过载,优化器会限制使用的并行度这个限制通过oracle并行parallelL_DEGREE_LIMIT来强制实施。 值:■ IO优化器能用的最大并行度被系统的IO嫆量限制系统总吞吐除以每个进程的最大IO带宽计算出。为了使用该IO设置你必须在系统上运行DBMS_RESOURCE_//viewspace-2149240/,如需转载请注明出处,否则将追究法律责任
}版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。