PLSQL_低效SQL的识别和查询汇总(案例)
2014-12-18 Created By BaoXinjian
1. 查找排序最多的SQL
SELECT HASH_VALUE,
SQL_TEXT,
SORTS,
EXECUTIONS
FROM V$SQLAREA
ORDER BY SORTS DESC;
2.查找磁盘读写最多的SQL
SELECT *
FROM ( SELECT sql_text,
disk_reads "total disk",
executions "total exec",
disk_reads / executions "disk/exec"
FROM v$sql
WHERE executions > 0 AND is_obsolete = 'N'
ORDER BY 4 DESC)
WHERE ROWNUM < 11;
3.查找工作量最大的SQL(实际上也是按磁盘读写来排序的)
SELECT SUBSTR (TO_CHAR (s.pct, '99.00'), 2) || '%' load,
s.executions executes,
p.sql_text
FROM (SELECT address,
disk_reads,
executions,
pct,
RANK () OVER (ORDER BY disk_reads DESC) ranking
FROM (SELECT address,
disk_reads,
executions,
100 * ratio_to_report (disk_reads) OVER () pct
FROM sys.v_$sql
WHERE command_type != 47)
WHERE disk_reads > 50 * executions) s, sys.v_$sqltext p
WHERE s.ranking <= 5 AND p.address = s.address
ORDER BY 1, s.address, p.piece;
4. 用下列SQL工具找出低效SQL
SELECT executions,
disk_reads,
buffer_gets,
ROUND ( (buffer_gets - disk_reads) / buffer_gets, 2) Hit_radio,
ROUND (disk_reads / executions, 2) reads_per_run,
sql_text
FROM v$sqlarea
WHERE executions > 0
AND buffer_gets > 0
AND (buffer_gets - disk_reads) / buffer_gets < 0.8
ORDER BY 4 DESC;
Thanks and Regards
转载:一江水 - http://www.cnblogs.com/rootq/archive/2009/12/24/1631415.html
ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
分类:
[1.1 数据]. PLSQL
标签:
PLSQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?