暂无图片
ORACLE执行计划里,最后一列的时间到底怎么看
我来答
分享
Thomas
2023-09-03
ORACLE执行计划里,最后一列的时间到底怎么看


这个执行计划,执行次序应该是3,4,2,5,1,0。那么最后一列的TIME,是时间的累加值,还是执行该步骤的耗时?看上去应该是累加值,不然怎么会这么巧,第0步和第1步都是1分29秒?如果是累加值,那么到了第2步,已经累加执行了1分20秒,那第5步明细是在第2步执行完才执行,为什么它的累加值又变成0了呢?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
徐孝亮

最后一列的TIME,是他所有子节点时间的累加值,5不是2的子节点。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
小小星月明

在ORACLE执行计划中,最后一列的时间表示每个步骤的估计执行时间。这个时间是以DB time单位表示的,表示该步骤在整个SQL语句执行过程中所占用的时间。

每个步骤的时间是根据统计信息和优化器的估计计算得出的。这个时间并不是实际的执行时间,而是一个估计值。它可以帮助开发人员了解每个步骤的相对执行时间,从而进行性能优化。

在执行计划中,时间列的值越大,表示该步骤所占用的时间越多。开发人员可以根据这个时间来判断哪些步骤可能是性能瓶颈,然后针对性地进行优化。

需要注意的是,执行计划中的时间是一个相对值,它受到多种因素的影响,比如系统负载、并发操作等。因此,它并不能准确地反映出实际的执行时间,仅供参考。实际的执行时间还需要通过其他手段进行测量和分析。

暂无图片 评论
暂无图片 有用 10
打赏 0
Thomas

说到点子上了,一句话强过十句

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交