科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道找出最耗资源的sql

找出最耗资源的sql

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  select * from v$process where spid='2796';      select sql_hash_value,machine,username,program from v$session where PAddr='

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: SQL 数据库 SQL Server

  • 评论
  • 分享微博
  • 分享邮件

  select * from v$process where spid='2796';
  
  select sql_hash_value,machine,username,program from v$session where PAddr='63B7A584';
  
  select * from v$sqltext where hash_value='833203018';
  
  select * from v$sql where hash_value='833203018';
  
  select * from v$sqlarea where hash_value='833203018';
  
  SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='2796' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece
  
  要找出最耗资源的sql,我们可以首先使用top等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为2796,然后根据这个进程号(v$process.spid)在v$process中找到进程地址(v$process.addr),然后根据这个地址在v$session中找到相应的sid(v$session.sid),然后根据这个sid找到相应的hash alue(v$session. sql_hash_value),然后根据这个hash alue在v$sqltext,$sql,v$sqlarea等视图中找到对应的sql语句(sql_text)。
  
  select * from v$process where spid='2796';
  
  select sql_hash_value,machine,username,program from v$session where PAddr='63B7A584';
  
  select * from v$sqltext where hash_value='833203018';
  
  select * from v$sql where hash_value='833203018';
  
  select * from v$sqlarea where hash_value='833203018';
  
  SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='2796' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件