oracle 提示中的默认并行度

Posted

技术标签:

【中文标题】oracle 提示中的默认并行度【英文标题】:Default degree of parallelism in oracle hints 【发布时间】:2015-05-21 06:21:05 【问题描述】:

我使用默认的并行度来获得性能调整,我也得到了最好的结果。但我怀疑当其他作业同时访问同一张表时它会产生影响。

下面的示例代码。

select /*+ FULL(customer) PARALLEL(customer, default) */ customer_name  from customer;

可用的服务器数量为 8 。这种默认的并行度是如何工作的?如果其他作业同时在同一张表上运行查询,它会影响吗?在将此查询移至生产环境之前,我想知道这是否会产生影响?谢谢!

【问题讨论】:

见How Parallel Execution Works 【参考方案1】:

来自documentation:

并行(默认):

优化器计算的并行度等于数量 所有参与实例上可用的 CPU 乘以 PARALLEL_THREADS_PER_CPU 初始化参数。

maximum degree of parallelism 受系统中CPU 数量的限制。用于计算极限的公式是:

PARALLEL_THREADS_PER_CPU * CPU_COUNT * the number of instances available

默认情况下,集群上所有打开的实例,但可以使用PARALLEL_INSTANCE_GROUP 或服务规范进行约束。这是默认设置。

【讨论】:

以上是关于oracle 提示中的默认并行度的主要内容,如果未能解决你的问题,请参考以下文章

Flink并行度可以有如下几种指定方式

Spark 并行度

修改Oracle并行度

Flink中并行度相关问题

如何查询oracle 数据库并行度

Spark---并行度和分区