您的位置:首页 > 数据库

几个检查数据库性能的SQL语句

2010-12-15 01:16 197 查看
posted on 2006-03-15 01:42 Xu Jianxiang

几个常用的SQL语句:

1、检查低效率的语句
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>1 --1表示执行次数超过一次
and buffer_gets > 0
and (buffer_gets-disk_reads)/buffer_gets < 0.8 -- disk_reads是读硬盘的数量
order by 4 desc;

2、检查目前打开的游标情况
select sql_text,count(1) from v$open_cursor where user_name='X' group by sql_text order by count(1) desc;

3、检查指定时间的语句情况
select * from v$sql s where first_load_time<'2006-03-01/00:00:00' order by s.EXECUTIONS desc;
-- 2月13日以后载入的语句

4、检查执行时间2月13日以后超过30秒的语句
select * from v$session_longops s where s.start_time>'28-feb-06' and s.LAST_UPDATE_TIME-s.START_TIME>30/1440/60 orderby start_time;

备注:
v$open_cursor 已经打开的游标,对新做的有数据库操作的程序可以通过检查这个视图来确认游标的使用情况
v$session 当前连接到数据库服务器的用户名和连接数
v$sql 所有执行过的数据库语句
v$session_longops 执行时间较长的语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: