达梦数据库获取慢sql

本文介绍了在达梦数据库中获取和分析慢SQL的方法。包括通过历史执行SQL记录和log_commit日志来监测执行时间较长的SQL,以及如何设置SQL日志参数和使用监控工具进行性能分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据库优化中sql优化是很重要的一部分,那么如何有效的获取慢sql

一、通过历史执行sql记录

当 INI 参数 ENABLE_MONITOR=1、MONITOR_TIME=1 打开时,显示系统最近 1000 条执行时间超过预定值的 SQL 语句。默认预定值为 1000 毫秒。可通过 SP_SET_LONG_TIME 系统函数修改,通过 SF_GET_LONG_TIME 系统函数查看当前值。

--两个参数均为动态参数,可直接调用系统函数进行修改
SP_SET_PARA_VALUE(1,'ENABLE_MONITOR',1);
SP_SET_PARA_VALUE(1,'MONITOR_TIME',1);
 
注意:通过 SP_SET_PARA_VALUE 方式修改的参数值仅对当前会话以及新建会话生效,对其它已建立会话不生效。

确定高负载的SQL
在设置性能监视级别为大于0后,可以通过查询动态视图V$LONG_EXEC_SQL或 V$SYSTEM_LONG_EXEC_SQLS来确定高负载的SQL语句。前者显示最近1000条执行时间 较长的SQL语句,,后者显示服务器启动以来执行时间最长语句。例如:

select * from V$LONG_EXEC_SQLS;
或者
select * from  V$SYSTEM_LONG_EXEC_SQLS order by exec_time desc;

select * from v$sql_history order by time_used desc

二、通过log_commit日志

1、设置开启日志
--设置SQL过滤规则,只记录必要的SQL,生产环境不要设成1
--   2 只记录DML语句    3 只记录DDL语句   22 记录绑定参数的语句
--  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值