ITPub博客

首页 > 数据库 > Oracle > Oracle查看正在执行的SQL以及执行计划分析

Oracle查看正在执行的SQL以及执行计划分析

原创 Oracle 作者:壹頁書 时间:2014-05-04 21:14:04 0 删除 编辑
前台反应响应时间很长,
首先,看看Oracle正在做些什么。
  1. SELECT a.username, b.sql_id, b.SQL_TEXT, b.SQL_FULLTEXT
  2. FROM v$session a, v$sqlarea b
  3. WHERE a.sql_address = b.address
  4.     AND a.SQL_HASH_VALUE = b.HASH_VALUE
找到问题SQL的sql_id,然后查看执行计划
  1. select * from table(dbms_xplan.display_awr('2k55nnc3y1xw4'));

分析这个SQL
执行顺序应该是 8,7,6,5,4,9,3,10,2,1,0
  1. SELECT opus_type, a.opus_id, opus_name, a.userid, nickname
  2.     , performer, visit_num,
  3.     to_char(a.createtime, 'yyyy-mm-dd') AS createtime,
  4.     file_domain, upload_domain
  5.     , file_url, round(file_size / 1024000, 2) AS file_size
  6. FROM (
  7.     SELECT rid
  8.     FROM (
  9.         SELECT rownum AS rn, rid
  10.         FROM (
  11.             SELECT rowid AS rid
  12.             FROM music_video a
  13.             WHERE 1 = 1
  14.                 AND opus_stat = 1
  15.                 AND auditing = 1
  16.                 AND convert_mark = 1
  17.             ORDER BY a.createtime DESC
  18.         )
  19.         WHERE rownum <= :1
  20.     )
  21.     WHERE rn >= :2
  22. ) t, music_video a, space_user b
  23. WHERE t.rid = a.ROWID
  24.     AND a.userid = b.userid
  25. ORDER BY a.createtime DESC
关于执行计划顺序的纠正:




参考:
http://www.askmaclean.com/archives/read-sql-execution-plan.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29254281/viewspace-1153757/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    620
  • 访问量
    6339927