暂无图片
分享
周伟
2023-06-02
关于v$sql 中 CPU_TIME, ELAPSED_TIME 的意义

请教各位专家:

麻烦谁能给解释一下,v$sql 视图当中的的 CPU_TIME, ELAPSED_TIME 的意思到底是啥?

他们到底是一个累计值,还是一个平均值,还是一个MAX值?

比如我一条SQL执行10次,v$sql当中能找到这条SQL 的executions 值为10 , 但是通过跟踪发现,CPU_TIME 并不回每次执行都会增加,有时候会增加,有时候不会,但是 ELAPSED_TIME 确每次都会增加。


我现在是想提取数据库中当前执行时间最长的SQL语句。不想每次都跑去弄AWR啥的。

收藏
分享
2条回答
默认
最新
伪文艺


暂无图片 评论
暂无图片 有用 0
暂无图片
周伟
题主
2023-06-06
这文档我知道,我的意思是他们到底是一个平均值,累积值,还一个最大值。假如我同一条SQL连续执行10次,那么这两个time 是一个累积值还是平均值? 我曾经想模拟一条SQL select 沉睡几秒钟,但是没成功。。
伪文艺
答主
2023-06-06
累加值的,elapsed time包含CPU time和wait time
周伟
题主
2023-06-06
我的倾向也是两个值都是累加值,根据生产系统上的一些观察,发现一些执行了数十上百次的SQL,这两列的值会是一个很庞大的数字,只有咋除以execution之后,他们的值才比较接近于正常的值,只是后来我实际测试上得到的结果和心里预估还是有很大的差别,所以这个累加应该也不是我们理解的绝对意义上的累加了。算求,拿来做个参考也勉强足够了。
周伟
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏