首页 / 缓存 / Oracle从缓存里面查找真实的执行计划
Oracle从缓存里面查找真实的执行计划
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle从缓存里面查找真实的执行计划,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1072字,纯文字阅读大概需要2分钟。
内容图文
![Oracle从缓存里面查找真实的执行计划](/upload/InfoBanner/zyjiaocheng/552/a5279eb2452940bf94b1f8b7f0adcfdf.jpg)
有关Oracle 的执行计划说明,参考:Oracle Explain Plan
有关Oracle 的执行计划说明,参考:Oracle Explain Plan 见
一. 查看当前session 的SID
SYS@anqing1(rac1)> SELECT USERENV('SID') FROM DUAL;
USERENV('SID')
--------------
137
SYS@anqing1(rac1)> SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;
SID
----------
137
二. 查看缓存中的Explain Plan
1)根据SID,从v$sql中找到相应SQL的HASH_VALUE和ADDRESS
/* Formatted on 2011/6/20 17:38:20 (QP5 v5.163.1008.3004) */
SELECT a.sql_text, a.address, a.hash_value
FROM v$sql a, v$session b
WHERE a.hash_value = b.sql_hash_value AND b.sid = &sid;
2)根据hash_value和address的值,从v$sql_plan中找到真实的执行计划
/* Formatted on 2011/6/20 17:39:22 (QP5 v5.163.1008.3004) */
SET LINE 200;
COL oper FORMAT a100;
SELECT LPAD (oper, LENGTH (oper) + LEVEL * 2, ' ') oper, cost
FROM (SELECT object_name || ':' || operation || ' ' || options AS oper,
cost,
id,
parent_id
FROM v$sql_plan
WHERE hash_value = '&hash_value' AND address = '&address')
START WITH id = 0
CONNECT BY PRIOR id = parent_id;
如:
内容总结
以上是互联网集市为您收集整理的Oracle从缓存里面查找真实的执行计划全部内容,希望文章能够帮你解决Oracle从缓存里面查找真实的执行计划所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。