码迷,mamicode.com
首页 > 数据库 > 详细

oracle查询使用频率和磁盘消耗需要缓存大小

时间:2016-04-14 14:21:18      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

SELECT *
  FROM (SELECT Sql_Text, Sql_Id, Cpu_Time FROM V$sql ORDER BY Cpu_Time DESC)
 WHERE Rownum <= 10
 ORDER BY Rownum ASC;

SELECT *
  FROM (SELECT Sql_Text, Sql_Id, Cpu_Time FROM V$sqlarea ORDER BY Cpu_Time DESC)
 WHERE Rownum <= 10
 ORDER Byrownum ASC;

 

这2个语句效果基本一样,一个从v$sql视图查询一个从v$sqlarea视图查询。 

列出使用频率最高的5个查询:
SELECT Sql_Text, Executions
  FROM (SELECT Sql_Text,
               Executions,
               Rank() Over(ORDER BY Executions DESC) Exec_Rank
          FROM V$sql)
 WHERE Exec_Rank <= 5;

 

消耗磁盘读取最多的sql top5: 
SELECT Disk_Reads, Sql_Text
  FROM (SELECT Sql_Text,
               Disk_Reads,
               Dense_Rank() Over(ORDER BY Disk_Reads DESC) Disk_Reads_Rank
          FROM V$sql)
 WHERE Disk_Reads_Rank <= 5;

 

 
找出需要大量缓冲读取(逻辑读)操作的查询:
SELECT Buffer_Gets, Sql_Text
  FROM (SELECT Sql_Text,
               Buffer_Gets,
               Dense_Rank() Over(ORDER BY Buffer_Gets DESC) Buffer_Gets_Rank
          FROM V$sql)
 WHERE Buffer_Gets_Rank <= 5;

 

oracle查询使用频率和磁盘消耗需要缓存大小

标签:

原文地址:http://www.cnblogs.com/chenv/p/5390735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!