对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL。
1.从V$SQLAREA中查询最占用资源的查询。
1 | select b.username username,a.disk_reads reads, |
2 | a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio, |
4 | from v$sqlarea a,dba_users b |
5 | where a.parsing_user_id=b.user_id |
6 | and a.disk_reads > 100000 |
7 | order by a.disk_reads desc; |
用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。
V$SQL是内存共享SQL区域中已经解析的SQL语句。
2.列出使用频率最高的5个查询:
1 | select sql_text,executions |
2 | from (select sql_text,executions, |
4 | (order by executions desc) exec_rank |
3.消耗磁盘读取最多的sql top5:
1 | select disk_reads,sql_text |
2 | from (select sql_text,disk_reads, |
4 | (order by disk_reads desc) disk_reads_rank |
6 | where disk_reads_rank <=5; |
找出需要大量缓冲读取(逻辑读)操作的查询:
1 | select buffer_gets,sql_text |
2 | from (select sql_text,buffer_gets, |
4 | (order by buffer_gets desc) buffer_gets_rank |
6 | where buffer_gets_rank<=5; |
建议继续学习:
- HTML5和CSS3工具资源汇总 (阅读:3688)
- UI设计师的盛宴:Web UI设计资源大系 (阅读:3049)
- 分享一些可视信息设计资源 (阅读:2706)
- 突破systemtap脚本对资源使用的限制 (阅读:2540)
- 游戏引擎中的资源生命期管理问题 (阅读:1067)
- 资源文件的转换问题 (阅读:898)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习