暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解读“Time Model Statistics”中的“sql execute elapsed time”

oracleace 2025-10-24
111

全网最全的解读Oracle AWRb报告合集,免费订阅中。

在Oracle AWR报告中,“Time Model Statistics”部分通过从用户的视角展示DB Time的分配情况。

通常情况下,“sql execute elapsed time”是DB Time的主要组成部分。由于设计Oracle数据库的目的就是为了执行SQL,理论上这个值应接近DB Time。然而,在实际中,这两者之间往往存在显著差距。那么,这一差距的来源是什么?

答案在于Oracle如何对SQL进行分类。并非所有SQL语句都被计入“SQL execute elapsed time”。特别是COMMIT和ROLLBACK——尽管是有效的SQL语句——并未包含在“sql execute elapsed time”中。这些SQL的运行时间仍计入DB Time,但不计入“SQL execute elapsed time”。这一事实可以通过动态性能视图(如V$SQL)中找不到COMMIT或ROLLBACK,以及AWR报告的“SQL Statistics”部分中没有这些操作的记录得到证实。如果COMMIT被视为普通SQL,其高频使用特性可能使其出现在TOP SQL中。在这方面Oracle和MySQL不同。

在这个例子中,“sql execute elapsed time”仅占DB Time的68%,这表明COMMIT操作可能是剩余32%的主要组成部分。


在“Top Events”部分,约30%的DB Time被“log file sync”等待事件占用,这一比例与观察到的差距高度吻合,从而支持了这一假设。

关于号主,姚远:
  • Oracle ACE(Oracle和MySQL数据库方向)

  • 华为云最有价值专家

  • 《MySQL 8.0运维与优化》的作者

  • 拥有数十项数据库认证

  • 曾任IBM公司数据库部门经理

  • 20+年DBA经验,服务2万+客户

  • 精通C和Java,发明两项计算机专利

  • 两次获得国家部级奖

推荐文章👇

程序员如何练到英语专业八级水平?我的亲身经历

从我的经历看IT工程师能干到退休吗?

试看号主拙作《MySQL 8.0运维与优化》


号主在certview.oracle.com网站上的证书清单截图:

欢迎关注我的公众号,一起学习数据库技术,分享职业发展的思考。


欢迎加我的微信,拉你进微信群


文章转载自oracleace,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论