首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动或手动模式下的PARALLEL_MIN_TIME_THRESHOLD参数

自动或手动模式下的PARALLEL_MIN_TIME_THRESHOLD参数
EN

Database Administration用户
提问于 2017-01-14 09:45:47
回答 1查看 910关注 0票数 0

来自并行执行的工作原理

下面是并行度策略设置为自动时并行语句处理的总结。发出SQL语句。语句被解析,优化器确定执行计划。将检查PARALLEL_MIN_TIME_THRESHOLD初始化参数指定的阈值限制。

  • 如果执行时间小于阈值限制,则将连续运行SQL语句。
  • 如果执行时间大于阈值限制,则根据优化器计算的DOP并行运行语句。

假设parallel_degree_policy是MANUAL,而SQL语句包含一个并行提示或定义的并行DDL值。甲骨文优化器还会检查PARALLEL_MIN_TIME_THRESHOLD吗?

此外,估计执行时间或实际执行时间是否在阈值限制附近的计算中使用?

EN

回答 1

Database Administration用户

发布于 2017-01-14 17:41:33

以下引用自你的链接,强调我的:

PARALLEL_MIN_TIME_THRESHOLD是控制自动DOP的第二个初始化参数。它指定语句在考虑语句为自动DOP之前应该具有的最小执行时间。默认情况下,这是10秒。优化器首先计算SQL语句的串行执行计划;如果估计的执行时间大于PARALLEL_MIN_TIME_THRESHOLD (10秒),则该语句将成为自动DOP的候选。

另一个很好的资源是使用默认参数设置,重点是我的资源:

PARALLEL_MIN_TIME_THRESHOLD:优化器估计的执行时间,上面是一个语句,用于自动并行查询和自动派生DOP。

直接回答你的问题:

假设parallel_degree_policy是手动的,而SQL语句包含一个并行提示或定义的并行DDL值。甲骨文优化器还会检查PARALLEL_MIN_TIME_THRESHOLD吗?

不,PARALLEL_MIN_TIME_THRESHOLD不会被使用。如果指定并行度,查询优化器为什么要计算串行计划的成本?它会用这些信息做什么?你已经指定了DOP。这只有在自动DOP的上下文中才有意义。

此外,估计执行时间或实际执行时间是否在阈值限制附近的计算中使用?

这一定是估计的时间。Oracle可能会以串行方式执行大部分查询,然后切换到并行计划,这是否有意义?据我所知,对于数据流操作,在开始执行时会选择DOP。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/161064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档