ET 工具是 DM 数据库自带的 SQL 性能分析工具,是一个非常强大的工具,不仅能够统计 SQL 语句执行过程中每个操作符的实际开销,而且内存使用也有提现,为 SQL 优化提供依据以及指导。
可通过配置 INI 参数中的 ENABLE_MONITOR=1、MONITOR_SQL_EXEC=1 开启该功能。
--查看该功能是否开启,0关闭,1开启。
select * from SYS.V$DM_INI where para_name='ENABLE_MONITOR';
select * from SYS.V$DM_INI where para_name='MONITOR_SQL_EXEC';
--两个参数均为动态参数,可直接调用系统函数进行修改
SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',1);
SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',1);
--会话级别修改只在当前会话生效
SF_SET_SESSION_PARA_VALUE('MONITOR_SQL_EXEC',1);
--关闭 ET
SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',0);
SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',0);注意:ET 功能的开启将对数据库整体性能造成一定影响,优化工作结束后尽量关闭该功能以提升数据库整体运行效率。
执行 SQL 语句后,客户端会返回 SQL 语句的执行号。单击执行号即可查看 SQL 语句对应的 ET 结果。
- OP: 操作符
- TIME(us): 时间开销,单位为微秒
- PERCENT: 执行时间占总时间百分比
- RANK: 执行时间耗时排序
- SEQ: 执行计划节点号
- N_ENTER: 进入次数
以 CSCN2 操作符为例,时间开销为 14 s,占总执行时间的 97.05%,以及SORT ,时间开销为 424 ms,占总执行时间的 2.94%。可作为优化的重点对象。对 TEST 表的 id 字段建二级索引,就可以消除全表扫和排序操作符。
CREATE INDEX IDX_ID ON SYSDBA.TEST(ID);
与之前 ET 结果相比较,可看出CSCN2 全表扫被消除, SORT3 操作符由于 C1 列已有序被消除,总耗时明显减少。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




