达梦数据库内置ET性能分析工具,ET工具可以根据SQL语句执行号输出对应SQL语句执行步骤的耗时情况并进行排序展示,可以为数据库管理员和开发人员提供SQL优化方向。
达梦数据库ET功能默认是关闭,需设置INI参ENABLE_MONITOR=1、 MONITOR_TIME=1 和MONITOR_SQL_EXEC=1。
简单说明
定义:
ET(ID_IN INT);
功能说明:
统计执行ID为ID_IN的所有操作符的执行时间。ID_IN为SQL语句执行号。
需设置INI参ENABLE_MONITOR=1、 MONITOR_TIME=1 和MONITOR_SQL_EXEC=1。
示例
SQL> SET AUTOTRACE TRACE
SQL> sf_set_session_para_value('MONITOR_SQL_EXEC',1); ---会话级别设置MONITOR_SQL_EXEC,只对当前会话生效
DMSQL 过程已成功完成
已用时间: 0.345(毫秒). 执行号:1001.
SQL> SELECT COUNT(*) FROM TAB_COUNT_DM;
行号 COUNT(*)
---------- --------------------
1 13
1 #NSET2: [1, 1->1, 0]
2 #PRJT2: [1, 1->1, 0]; exp_num(1), is_atom(FALSE)
3 #FAGR2: [1, 1, 0]; sfun_num(1),
已用时间: 3.254(毫秒). 执行号:1002.
SQL> et(1002);
行号 OP TIME(US) PERCENT RANK SEQ N_ENTER
---------- ----- -------------------- ------- -------------------- ----------- -----------
1 PRJT2 3 0.93% 3 2 4
2 DLCK 3 0.93% 3 0 2
3 NSET2 57 17.7% 2 1 3
4 FAGR2 259 80.43% 1 3 2
OP:表示操作符名称。(如果某些操作符并没有真正执行或者耗时很短,则不会在ET中显示。DLCK操作符是对字典对象的上锁处理,通常情况下可以忽略)
TIME(US):对应操作符的执行耗时,单位微秒。
PERCENT:对应操作符在整个执行计划中耗时占比。
SEQ:操作符在执行计划中的序号。
N_ENTER:操作符进入的次数。
ET工具的输出内容,也可以使用SQL语句来实现,主要涉及到的系统视图:vsql_node_name、vsql_node_history。
DM 武汉达梦数据库股份有限公司
24小时免费服务热线:400 991 6599
达梦在线服务平台:https://eco.dameng.com
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




