达梦数据库的整体负载变化查看

挖掘略显薄弱的系统统计信息

sql 复制代码
SQL> desc v$sysstat
NAME     TYPE$        NULLABLE
-------- ------------ --------
ID       INTEGER      Y
CLASSID  INTEGER      Y
NAME     VARCHAR(128) Y
STAT_VAL BIGINT       Y

-- 创建监控表
drop table sysstat_baseline ;
CREATE TABLE sysstat_baseline AS
SELECT s.*, SYSDATE as capture_time
FROM v$sysstat s;


-- 每隔5分钟插入一次
insert into sysstat_baseline SELECT s.*, SYSDATE as capture_time FROM v$sysstat s;


-- 查询增量
select * from (
SELECT 
  ss.name,
  (ss.STAT_VAL - bl.STAT_VAL) as delta_STAT_VAL,
  ROUND((ss.STAT_VAL - bl.STAT_VAL) / 
        datediff(ss,capture_time,sysdate)/60 , 2) as per_fen
FROM v$sysstat ss
JOIN sysstat_baseline bl ON ss.id = bl.id
WHERE ss.STAT_VAL != bl.STAT_VAL) order by PER_FEN desc limit 20;


-- Top 10增量统计
WITH deltas AS (
  SELECT 
    s.name,
    s.STAT_VAL - LAG(s.STAT_VAL) OVER (PARTITION BY s.id ORDER BY s.capture_time) as delta 
  FROM sysstat_baseline s
  WHERE s.STAT_VAL > 0
)
SELECT * FROM (
  SELECT name, delta, 
         RANK() OVER (ORDER BY delta DESC) as rank
  FROM deltas
  WHERE delta IS NOT NULL
)
WHERE rank <= 10;
相关推荐
JAVA面经实录9175 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
周杰伦fans6 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
Flying pigs~~6 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL7 小时前
mysql之如何获知版本
数据库·mysql
许彰午7 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_832365528 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Bat U8 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰8 小时前
C++ 排列组合完整指南
开发语言·c++·算法
2301_779622418 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python