首页 > 解决方案 > Oracle Parallel Hint 中的并行度

问题描述

在 Oracle 中决定 Dop in Parallel 提示的因素是什么。

例如。

SELECT /*+ PARALLEL(employees 3) */ e.last_name, d.department_name
FROM   employees e, departments d
WHERE  e.department_id=d.department_id;

如何确定 3 是正确的 DOP?

标签: sqloracleperformancequery-optimization

解决方案


我维护的大多数系统现在都不是 OTLP Datawarehouse,而是介于两者之间。因此,有时有必要使用并行性,但您不想将所有资源(所有 CPU 内核)用于单个报告。从理论上讲,您可以通过配置文件限制 DOP,但资源限制是 Oracle 中存在问题的组件。Oracle 中的 Adaptive DOP 默认情况下由空闲 CPU 资源的数量决定,因此这样的查询通常有大量的并行工作人员,这完全杀死了磁盘 IO。

Oracle 会话工作进程是单线程的,它们都不会使用超过单个 CPU 内核。所以 DOP 应该始终对应于 CPU 内核的数量以及它是否受 CPU 限制。


推荐阅读