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.

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 - 鲍新建
相关文章
|
4月前
|
SQL 数据挖掘 数据库
第三篇:高级 SQL 查询与多表操作
本文深入讲解高级SQL查询技巧,涵盖多表JOIN操作、聚合函数、分组查询、子查询及视图索引等内容。适合已掌握基础SQL的学习者,通过实例解析INNER/LEFT/RIGHT/FULL JOIN用法,以及COUNT/SUM/AVG等聚合函数的应用。同时探讨复杂WHERE条件、子查询嵌套,并介绍视图简化查询与索引优化性能的方法。最后提供实践建议与学习资源,助你提升SQL技能以应对实际数据处理需求。
276 1
|
5月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
1月前
|
SQL 人工智能 数据库
【三桥君】如何正确使用SQL查询语句:避免常见错误?
三桥君解析了SQL查询中的常见错误和正确用法。AI产品专家三桥君通过三个典型案例:1)属性重复比较错误,应使用IN而非AND;2)WHERE子句中非法使用聚合函数的错误,应改用HAVING;3)正确的分组查询示例。三桥君还介绍了学生、课程和选课三个关系模式,并分析了SQL查询中的属性比较、聚合函数使用和分组查询等关键概念。最后通过实战练习帮助读者巩固知识,强调掌握这些技巧对提升数据库查询效率的重要性。
79 0
|
2月前
|
SQL
SQL中如何删除指定查询出来的数据
SQL中如何删除指定查询出来的数据
|
4月前
|
SQL 关系型数据库 MySQL
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
凌晨2点报警群炸了:一条sql 执行200秒!搞定之后,我总结了一个慢SQL查询、定位分析解决的完整套路
|
3月前
|
SQL 存储 弹性计算
OSS Select 加速查询:10GB CSV 文件秒级过滤的 SQL 语法优化技巧
OSS Select 可直接在对象存储上执行 SQL 过滤,跳过文件下载,仅返回所需数据,性能比传统 ECS 方案提升 10~100 倍。通过减少返回列、使用等值查询、避免复杂函数、分区剪枝及压缩优化等技巧,可大幅降低扫描与传输量,显著提升查询效率并降低成本。
|
6月前
|
SQL 人工智能 自然语言处理
OmniSQL:开源文本到SQL神器!自然语言秒转查询到复杂多表连接等SQL需求
OmniSQL是开源的文本到SQL转换模型,通过创新的数据合成框架生成250万条高质量样本,支持7B/14B/32B三种模型版本,能处理从简单查询到复杂多表连接等各种SQL需求。
594 16
OmniSQL:开源文本到SQL神器!自然语言秒转查询到复杂多表连接等SQL需求
|
5月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
12月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
393 13

热门文章

最新文章