达梦sql_monitor信息的进一步加工

发布时间:2026/7/29 21:39:11
达梦sql_monitor信息的进一步加工 当达梦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_COUNTBIGINTCOMMENTActivity 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对象都是数据字典表。插入动作最耗时。对列和对象的插入删除占大头。数据字典是性能突破的瓶颈。