oracle常用优化

来源:互联网 发布:java初学者书籍 编辑:程序博客网 时间:2024/06/04 00:44

-- 逻辑读多的SQL
select * from (select buffer_gets, sql_text
from v$sqlarea
where buffer_gets > 500000
order by buffer_gets desc) where rownum<=30;

-- 执行次数多的SQL   
  select sql_text,executions from
  (select sql_text,executions from v$sqlarea order by executions desc)
   where rownum<81;

-- 读硬盘多的SQL 
  select sql_text,disk_reads from
  (select sql_text,disk_reads from v$sqlarea order by disk_reads desc)
   where rownum<21;    

-- 排序多的SQL   
  select sql_text,sorts from
   (select sql_text,sorts from v$sqlarea order by sorts desc)
    where rownum<21;           
 
--分析的次数太多,执行的次数太少,要用绑变量的方法来写sql
set pagesize 600;
set linesize 120;
select substr(sql_text,1,80) "sql", count(*), sum(executions) "totexecs"
   from v$sqlarea
   where executions < 5
   group by substr(sql_text,1,80)
   having count(*) > 30
   order by 2;