dm压测慢,单独运行不慢分析

1、打开sql跟踪日志,登录数据库执行以下脚本(详细情况请查看博客DM8 开启 sql跟踪日志)

sp_set_para_value(1,'SVR_LOG',1);

2、开启et,也就是可以查看下面的主要耗时慢的执行符

sp_set_para_value(1,'ENABLE_MONITOR',1);
sp_set_para_value(1,'MONITOR_SQL_EXEC',1);
sp_set_para_value(1,'MONITOR_TIME',1);

3、查询慢sql

--压测过程中执行以下sql,查询出慢sql

SELECT  a.sess_id || ',' || a.SESS_SEQ  sid,
      a.user_name,
      b.sql_id sql_id,
      b.HASH_VALUE plan_hash_value,
      datediff(ss, a.last_send_time,sysdate) last_ela,
      a.sql_text sql_text
 FROM V$SESSIONS a left join v$sqltext b
 on a.SQL_TEXT=b.SQL_TEXT
 WHERE a.STATE='ACTIVE' and a.user_name!='SYSDBA' order by last_ela desc;

根据上图中的sql_id:1510查询主要耗时在哪一步,如下图sql


--查询sql主要耗时在哪
select
        a.*
from
        V$SQL_NODE_HISTORY a
left join V$SQL_HISTORY b
on
        a.exec_id = b.exec_id
where
        b.sql_id='1510'
order by
        a.exec_id

 查询得出,主要耗时是218和219比较耗时

select * from V$SQL_NODE_NAME  where "TYPE$" IN (218,219)

去sql定位

 

 进行优化,创建条件组合索引

优化完成后关闭sql跟踪日志,登录数据库执行以下sql

sp_set_para_value(1,'SVR_LOG',0);

 更多资讯请访问:首页 | 达梦云适配中心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值