Oracle统计分析某个SQL的执行频率

有时候因为业务增长或应用程序配置问题会导致一些SQL语句的执行频率出现飚增,下面这两个SQL语句就是用来统计某个SQL的执行频率/单位时间内的执行次数,分析SQL的执行频率是否出现异常。

按天统计SQL的执行次数

复制代码
SET LINESIZE 255
SET PAGESIZE 60
COL SQL_ID FOR A20
COL DATE_TIME FOR A20
SELECT M.SQL_ID ,
       TO_CHAR(N.BEGIN_INTERVAL_TIME, 'YYYY-MM-DD')   "DATE_TIME",
       SUM(M.EXECUTIONS_DELTA)  EXECUTIONS
FROM DBA_HIST_SQLSTAT M, DBA_HIST_SNAPSHOT N
WHERE M.SNAP_ID  = N.SNAP_ID
  AND M.DBID = N.DBID
  AND M.INSTANCE_NUMBER = N.INSTANCE_NUMBER
  AND M.INSTANCE_NUMBER=1
  AND M.SQL_ID='&SQL_ID'
GROUP BY M.SQL_ID , TO_CHAR(N.BEGIN_INTERVAL_TIME, 'YYYY-MM-DD')
ORDER BY "DATE_TIME";

按小时统计SQL的执行次数

复制代码
SET LINESIZE 255
SET PAGESIZE 60
COL SQL_ID FOR A20
COL DATE_TIME FOR A20
SELECT M.SQL_ID ,
       TO_CHAR(N.BEGIN_INTERVAL_TIME, 'YYYY-MM-DD HH24')   "DATE_TIME",
       SUM(M.EXECUTIONS_DELTA)  EXECUTIONS
FROM DBA_HIST_SQLSTAT M, DBA_HIST_SNAPSHOT N
WHERE M.SNAP_ID  = N.SNAP_ID
  AND M.DBID = N.DBID
  AND M.INSTANCE_NUMBER = N.INSTANCE_NUMBER
  AND M.INSTANCE_NUMBER=1
  AND M.SQL_ID='&SQL_ID'
GROUP BY M.SQL_ID , TO_CHAR(N.BEGIN_INTERVAL_TIME, 'YYYY-MM-DD HH24')
ORDER BY "DATE_TIME";
相关推荐
一起养小猫19 小时前
Flutter for OpenHarmony 实战:打造天气预报应用
开发语言·网络·jvm·数据库·flutter·harmonyos
qianshang2331 天前
SQL注入学习总结
网络·数据库·渗透
what丶k1 天前
深入解析Redis数据持久化:RBD机制原理、实操与生产最佳实践
数据库·redis·缓存
瀚高PG实验室1 天前
通过数据库日志获取数据库中的慢SQL
数据库·sql·瀚高数据库
Hgfdsaqwr1 天前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
invicinble1 天前
对于Mysql深入理解
数据库·mysql
阳光九叶草LXGZXJ1 天前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
Hgfdsaqwr1 天前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
s1hiyu1 天前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
2301_763472461 天前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python