查询正在运行的Top SQL的脚本(建议收藏)

在这里插入图片描述

这篇文章提供了一些现成的SQL脚本,通过查询V$SQLSTATS视图找到正在运行的TOP SQL,用于后续的优化。建议大家收藏,需要查询TOP SQL时直接复制和粘贴即可。

之前的一篇文章解释了为什么要使用V$SQLSTATS视图。

当数据库表现出各种不同的性能问题的症状时,您可以通过调整SQL语句中WHERE条件来查询需要优化的SQL。下面是一些例子:

  • 对于高I/O,按照‘DISK_READS’降序排列结果。
  • 对于高CPU使用率,按照‘BUFFER_GETS’降序排列结果。
  • 对于SQL语句解析过多的现象,按照‘PARSE_CALLS’降序排列结果。
  • 对于内存出现压力的现象,按照‘SHAREABLE_MEM’降序排列结果。

按Buffer Gets降序排列TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,buffer_gets,trunc(buffer_gets/executions) gets_per        FROM V$SQLSTATSWHERE buffer_gets > 10000 and executions<>0ORDER BY buffer_gets DESC)
WHERE rownum <=10;

Elapsed time的单位是微秒,一微秒等于一百万分之一秒。

关于号主,姚远:

  • Oracle ACE(Oracle和MySQL数据库方向)
  • 华为云最有价值专家
  • 《MySQL 8.0运维与优化》的作者
  • 拥有 Oracle 10g、12c和19c OCM等数十项数据库认证
  • 曾任IBM公司数据库部门经理
  • 20+年DBA经验,服务2万+客户
  • 精通C和Java,发明两项计算机专利

按物理读降序排列TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,disk_reads,trunc(disk_reads/executions) reads_per        FROM V$SQLSTATSWHERE disk_reads> 1000 and executions<>0ORDER BY disk_reads DESC)
WHERE rownum <=10;

按执行次数降序排列TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,rows_processed,trunc(rows_processed/executions) rows_per        FROM V$SQLSTATSWHERE executions> 100 and executions<>0ORDER BY executions DESC)
WHERE rownum <=10;

按解析次数降序排列TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,parse_calls     FROM V$SQLSTATSWHERE parse_calls> 100 and executions<>0ORDER BY parse_calls DESC)
WHERE rownum <=10;

按使用内存降序排列TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,sharable_memFROM V$SQLSTATSWHERE sharable_mem> 1048576 and executions<>0ORDER BY sharable_mem DESC)
WHERE rownum <=10;

上述查询是汇总SQL在所有执行中消耗的资源来识别TOP SQL。在某些情况下,例如当应用程序的代码不使用绑定变量时,根据SQL在单次执行中消耗的资源作为标准来查询TOP SQL可能更恰当。

下面的例子根据单次执行中的Buffer Gets来查找TOP SQL:

set linesize 150
set pagesize 100
col sql_text form a50
SELECT * FROM
(SELECT SQL_ID,substr(sql_text,1,50) sql_text,trunc(ELAPSED_TIME/executions) ELAPSED_TIME_PER,executions,buffer_gets,trunc(buffer_gets/executions) gets_per        FROM V$SQLSTATSWHERE buffer_gets > 100 and executions<>0ORDER BY gets_per  DESC)
WHERE rownum <=10;

上面是一些查询TOP SQL的例子,您可以根据您的数据库的特定情况,稍作修改后生成更适合的查询脚本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaSwing推箱子游戏

一、简介 策略性游戏可以锻炼人的思维能力还能缓解人的压力&#xff0c;使人们暂时忘却生活当中的烦恼&#xff0c;增强人们的逻辑思维能力&#xff0c;游戏的艺术美也吸引着越来越多的玩家和厂商&#xff0c;寓教于乐&#xff0c;在放松人们心情的同时还可以活跃双手。在人类…

Docker数据卷与网络模式

华子目录 数据卷注意数据卷操作查看镜像&#xff0c;容器&#xff0c;数据卷所占空间 Docker的网络模式查看指定容器的网络模式bridge模式none模式host模式container模式 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录&#xff0c;它绕过UFS&#xff0c;可以提供很多有…

Open CASCADE学习|显示文本

目录 1、修改代码 Viewer.h&#xff1a; Viewer.cpp&#xff1a; 2、显示文本 OpenCasCade 你好啊 霜吹花落 1、修改代码 在文章《Open CASCADE学习|显示模型》基础上&#xff0c;增加部分代码&#xff0c;实现对文本显示的支持&#xff0c;具体如下&#xff1a; Viewer…

从数据页的角度看 B+ 树

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 大家背八股文的时候&#xff0c;都知道 MySQL 里 InnoDB 存储引擎是采用 B 树来组织数据的。 这点没错&#xff0c;但是大家知道 B 树里的节点里存放的是什么呢&#xff1f;查询数据的过程又是怎样的&am…

填补市场空白,Apache TsFile 如何重新定义时序数据管理

欢迎全球开发者参与到 Apache TsFile 项目中。 刚刚过去的 2023 年&#xff0c;国产开源技术再次获得国际认可。 2023 年 11 月 15 日&#xff0c;经全球最大的开源软件基金会 ASF 董事会投票决议&#xff0c;时序数据文件格式 TsFile 正式通过&#xff0c;直接晋升为 Apache T…

【C++从练气到飞升】05---运算符重载

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 ⛳️推荐 一、运算符重载的引用 二、运算符重载 三、赋值运算符重载 1 .赋值运算符重载格式: 2 .赋值运算符只能重载成…

【智能算法】飞蛾扑火算法(MFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2015年&#xff0c;Mirjalili等人受到飞蛾受到火焰吸引行为启发&#xff0c;提出了飞蛾算法(Moth-Flame Optimization&#xff0c;MFO)。 2.算法原理 2.1算法思想 MFO基于自然界中飞蛾寻找光源的…

Qt读取本地系统时间的几种方式

一&#xff0c;使用Windows API函数GetLocalTime&#xff08;精确到毫秒&#xff09; typedef struct _SYSTEMTIME //SYSTEMTIME结构体定义 {   WORD wYear;//年   WORD wMonth;//月   WORD wDayOfWeek;//星期&#xff0c;0为星期日&#xff0c;1为星期一&#xff0c…

PCL ICP配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、可视化代码四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统计的比较分析,为直…

Claude 3似乎比GPT-4性能更高,更多的人在尝试使用它

Anthropic 是 OpenAI 的主要竞争对手之一&#xff0c;于 3 月初推出了其最新的大型语言模型 (LLM)&#xff0c;称为 Claude 3。事实证明&#xff0c;Claude 3 的性能优于 OpenAI 的旗舰产品 GPT-4&#xff0c;这让 AI 社区感到惊讶&#xff0c;这标志着 GPT-4 的第一个实例被超…

Java只有中国人在搞了吗?

还是看你将来想干啥。想干应用架构&#xff0c;与Java狗谈笑风生&#xff0c;沆瀣一气&#xff0c;你就好好写Java&#xff0c;学DDD&#xff0c;看Clean Architecture。你想成为炼丹玄学工程师&#xff0c;年入百万&#xff0c;就选python&#xff0c;专精各种paper。你不在意…

对话李喆:Martech在中国需要转化成以客户需求为驱动的模式

关于SaaS模式在中国的发展&#xff0c;网上出现多种声音。Marteker近期采访了一些行业专家&#xff0c;围绕SaaS模式以及Martech在中国的发展提出独特观点。赛诺贝斯副总裁李喆认为&#xff0c;SaaS可以分为场景化的SaaS、一体化的SaaS和功能化的SaaS&#xff0c;三者都有一定规…

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建&#xff08;脚手架创建&#xff09;1.1.2 基于 vite 创建&#xff08;推荐&#xff09; 二、熟悉流程总结 前言 参考视频&#xff1a;https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…

辅助功能IOU(交并比)_3.2

实现两个目标框的交并比候选框在多目标跟踪中的表达方式及相应转换方法 IOU(Intersection over Union)&#xff0c;“交并比”&#xff0c;是计算机视觉和图像处理中常用的一个评价指标&#xff0c;尤其在目标检测任务中用来衡量模型预测的目标框与真实目标框的重合程度。 具体…

(附源码)基于Spring Boot + Vue的招聘平台设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖&#xff08;刷新&#xff09;5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…

【windows】安装 Tomcat 及配置环境变量

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

【大模型】VS Code(Visual Studio Code)上安装的扩展插件用不了,设置VS Code工作区信任

文章目录 一、找到【管理工作区信任】二、页面显示处于限制模式&#xff0c;改为【信任】三、测试四、总结 【运行环境】win 11 相关文章&#xff1a; 【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程 【问题】之前在 VS Code上安装 CodeGeeX 插件后&…

Linux命令学习入门

文章目录 登录注销关机重启Vim编辑器快捷键文件目录类打包、解包、压缩和解压指令输出重定向>和追加>>指令时间日期类搜索查找类用户管理文件所有者所在组权限管理变更权限crond任务时间调度crond相关指令&#xff1a;特殊符号说明&#xff1a; at定时任务磁盘分区磁盘…

记录三菱:Works2-FB块

创建一个FB块&#xff0c;启保停&#xff0c;定义输入输出引脚&#xff0c;注意这里的数据类型是Bit 打开主程序&#xff0c;将FB块拖出来 启保停&#xff1a;加入时间设定&#xff0c;时间显示倒着