达梦SQL优化--ET使用方法

ET 是达梦数据库内置的SQL性能优化分析工具,它可以统计指定会话ID执行的SQL的所有操作符的执行时间,对于分析优化SQL提供比较直观的数据依据,对于达梦数据库SQL优化,ET的使用是必须要掌握的技能之一。

达梦数据库ET功能默认是关闭,需设置INI参ENABLE_MONITOR=1、 MONITOR_TIME=1 和MONITOR_SQL_EXEC=1。达梦数据库参数配置方法参考以下操作演示ET开启配置方法及使用方法。

1.查看ET相关参数及其值

SQL> select para_name,para_value,para_type from v$dm_ini where para_name in ('ENABLE_MONITOR','MONITOR_TIME','MONITOR_SQL_EXEC')

达梦SQL优化--ET使用方法_第1张图片

2.配置相关参数开启ET功能

SQL> SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',1); #开启监视

SQL> SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',1); #监视SQL执行

SQL> SP_SET_PARA_VALUE(1,'MONITOR_TIME',1); #监视时间

达梦SQL优化--ET使用方法_第2张图片达梦SQL优化--ET使用方法_第3张图片

此时ET功能已经开启完成,调用以下过程可关闭。

SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',0);

SP_SET_PARA_VALUE(1,'MONITOR_SQL_EXEC',0);

SP_SET_PARA_VALUE(1,'MONITOR_TIME',0);

3.使用ET分析执行SQL效率

ET 的语法定义为:ET(ID_IN INT),ID_IN指SQL语句的执行ID,如下执行

SELECT D.* FROM DMTEST.EMPLOYEES E, DMTEST.DEPT_EMP D WHERE D.EMP_NO = E.EMP_NO LIMIT 10;

语句的执行号为3105,可以通过ET(3105)的方式调用ET来显示该条SQL各个操作的具体执行时间及所占总时间的比例,以便提出针对性的优化。

达梦SQL优化--ET使用方法_第4张图片

ET结果中每个列的具体含义:

列名

说明

OP

操作符名称

TIME(US)

执行耗时,以微秒为单位

PERCENT RANK

在整个计划中用时占比

SEQ

计划中的序号

N_ENTER

操作符进入的次数

也可以不用配置开启ET功能,通过SQL语句直接来查询ID为3105的SQL每个操作步骤具体执行的时间。如下所示,使用SQL来查询以上SQL(ID为3105,跟ET调用的ID一样的SQL)执行的每个操作花费的时间。

SELECT N.NAME, TIME_USED, N_ENTER

FROM V$SQL_NODE_NAME N, V$SQL_NODE_HISTORY H

WHERE N.TYPE$ = H.TYPE$ AND EXEC_ID = 3105

达梦SQL优化--ET使用方法_第5张图片

 4.使用达梦管理工具查看ET

如下所示,执行SQL:

达梦SQL优化--ET使用方法_第6张图片

执行SQL返回结果后,点击消息对话框,再点击执行号,可弹出ET结果对话框。

达梦SQL优化--ET使用方法_第7张图片

 

注意

  1. ET功能的开启是需要消耗一定的数据库性能,如果系统整体性能比较繁忙,建议在使用ET完成SQL优化后,关闭ET功能;
  2. 在ET中,如果某些操作没有真正执行或者执行时间耗时非常短,则不会在结果中显示。

 

达梦学习社区地址:https://eco.dameng.com

 

你可能感兴趣的:(达梦数据库,sql,数据库,database)