暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 如何在没有EE资源的情况下保存和显示真实的执行计划

askTom 2018-03-20
184

问题描述

嗨-我想知道是否有可能保存 (在计划表中) SQL缓存中存在的给定SQL的实际执行计划,然后通过DBMS_XPLAN显示它-首先请注意,我说的是真正的执行计划 (包括扩展的统计数据,例如A行和E行),而不是EXPLAIN plan的估计: 对于EXPLAIN PLAN,我们知道这是可能的。
据我所知,这里唯一的可能性是将相关视图的内容 (即,V $ SQL,V $ SQL_PLAN,V $ SQL_PLAN_STATISTICS_ALL) 保存在我自己的自定义表中,然后编写一个查询来组装计划 ..没有其他选择,也许是内置的?

问候,

J.劳林多·基亚帕

专家解答

您可以使用:

* DBMS_Xplan gather_plan_statistics

set serveroutput off

select /*+ gather_plan_statistics */* 
from   t;

select * 
from   table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
复制


* SQL开发人员中的自动跟踪

* SQL跟踪TKPROF

有关这些的更多信息,请阅读:

https://blogs.oracle.com/sql/how-to-create-an-execution-plan
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论