达梦sql_monitor信息的进一步加工
2026/7/29 21:39:01 网站建设 项目流程

当达梦sql monitor输出结果太多时(800行),不方便查看

可以考虑大力加工一下,思路是创建一个表,将结果输入进去,然后方便用sql进行排序和分析。
et知道某个步骤最耗时,但是不知道对象。

大力加工(创建一个表)

-- 达梦执行计划采样明细存储表CREATETABLEDM_SQL_PLAN_SAMPLE(IDINTNOTNULLCOMMENT'执行计划步骤ID',OPERATIONVARCHAR(64)NOTNULLCOMMENT'操作类型:CSCN2/INSERT2/SLCT2/UPDATE2等',OBJ_NAMEVARCHAR(128)COMMENT'数据库对象名(表/系统表/视图)',ROWS_ESTIMBIGINTCOMMENT'优化器预估行数',COSTBIGINTCOMMENT'执行计划成本值',TIME_ACTIVE_SECNUMERIC(20,10)COMMENT'步骤活跃耗时(秒)',START_ACTIVENUMERIC(20,10)COMMENT'步骤启动相对时间戳',EXECSINTCOMMENT'当前步骤执行次数',ROWS_ACTUALBIGINTCOMMENT'实际处理/返回行数',ACTIVITY_PCTNUMERIC(8,4)COMMENT'活动时间占比(%)',SAMPLE_COUNTBIGINTCOMMENT'Activity Detail 采样样本数',-- 扩展业务字段(可选,用于区分SQL、会话、采集时间)SQL_IDVARCHAR(32)COMMENT'对应SQL唯一标识',COLLECT_TIMEDATETIMEDEFAULTSYSDATECOMMENT'数据采集入库时间',SESSION_IDINTCOMMENT'会话ID');-- 建立索引,按SQL_ID+采集时间快速检索CREATEINDEXIDX_DM_PLAN_SAMPLE_SQLTIMEONDM_SQL_PLAN_SAMPLE(SQL_ID,COLLECT_TIME);-- 按对象名过滤索引CREATEINDEXIDX_DM_PLAN_SAMPLE_OBJONDM_SQL_PLAN_SAMPLE(OBJ_NAME);

用ai工具将这些sql monitor信息整理为insert语句,到测试库里执行插入。
然后就可以在manager中执行各种排序

哦,原来是对SYSCOLUMNS进行了删除比较耗时。

top对象都是数据字典表。

插入动作最耗时。

对列和对象的插入删除占大头。数据字典是性能突破的瓶颈。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询