技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Oracle --> 如何查找消耗资源较大的SQL

如何查找消耗资源较大的SQL

浏览:13486次  出处信息

对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL。

1.从V$SQLAREA中查询最占用资源的查询。

1select b.username username,a.disk_reads reads,
2a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,
3a.sql_text Statement
4from v$sqlarea a,dba_users b
5where a.parsing_user_id=b.user_id
6and a.disk_reads > 100000
7order by a.disk_reads desc;

用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。

V$SQL是内存共享SQL区域中已经解析的SQL语句。

2.列出使用频率最高的5个查询:

1select sql_text,executions
2from (select sql_text,executions,
3rank() over
4(order by executions desc) exec_rank
5from v$sql)
6where exec_rank <=5;

3.消耗磁盘读取最多的sql top5:

1select disk_reads,sql_text
2from (select sql_text,disk_reads,
3dense_rank() over
4(order by disk_reads desc) disk_reads_rank
5from v$sql)
6where disk_reads_rank <=5;

  1. 找出需要大量缓冲读取(逻辑读)操作的查询:

1select buffer_gets,sql_text
2from (select sql_text,buffer_gets,
3dense_rank() over
4(order by buffer_gets desc) buffer_gets_rank
5from v$sql)
6where buffer_gets_rank<=5;

建议继续学习:

  1. HTML5和CSS3工具资源汇总    (阅读:3688)
  2. UI设计师的盛宴:Web UI设计资源大系    (阅读:3049)
  3. 分享一些可视信息设计资源    (阅读:2706)
  4. 突破systemtap脚本对资源使用的限制    (阅读:2540)
  5. 游戏引擎中的资源生命期管理问题    (阅读:1067)
  6. 资源文件的转换问题    (阅读:898)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1