【发布时间】:2020-06-11 23:43:12
【问题描述】:
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?
【问题讨论】:
-
为什么首先使用并行提示,而不是让数据库在后台为您管理它?
-
@GMB Oracle 不管理并行性,必须专门启用它。 (我想您可以将 PARALLEL_DEGREE_POLICY 设置为 AUTO,然后让 Oracle 选择,但我认为几乎没有人会这样做,因为需要谨慎使用并行性。)
-
@SI1234 您能否为您的问题添加更多细节?您是试图最大化单个查询而不关心系统的其余部分,还是试图为整个系统找到和谐的平衡?另外,您能简要介绍一下您的数据库环境吗?您的示例查询对于并行性来说可能是一个糟糕的选择——像 EMPLOYEES 和 DEPARTMENTS 这样的小表通常不够大,以至于并行性的好处超过了成本。并行性通常用于大型数据仓库操作。
-
@JonHeller 我提到的查询是一个示例查询。我正在尝试理解并行提示的概念以及如果我们使用它在数据仓库应用程序中如何确定并行提示中的 DOP。
标签: sql oracle performance query-optimization