Oracle SQL Developer中查看解释计划Explain Plan的两种方法

方法一:

比如要查看解释计划的SQL是:select * from hy_emp

那么在输入窗口输入:

EXPLAIN PLAN FOR
select * from hy_emp

之后执行,输出窗口会出现 Explained. 字样,如下图:

之后执行select * from table(dbms_xplan.display); 如下:

总结步骤如下:

执行:

EXPLAIN PLAN FOR

SELECT * from * where....

再执行:

select * from table(dbms_xplan.display) 

 

方法二:

这种方式更简单,把SQL框起来点按钮就行了。

附:Oracle Explain Plan中各种信息的含义:

  • Plan hash value 是该语句的哈希值。SQL 语句和执行计划会存储在库缓存中,哈希值相同的语句可以重用已有的执行计划,也就是软解析;
  • Id 是一个序号,但不代表执行的顺序。执行的顺序按照缩进来判断,缩进越多的越先执行,同样缩进的从上至下执行。Id 前面的星号表示使用了谓词判断,参考下面的 Predicate Information;
  • Operation 表示当前的操作,也就是如何访问表的数据、如何实现表的连接、如何进行排序操作等;
  • Name 显示了访问的表名、索引名或者子查询等,前提是当前操作涉及到了这些对象;
  • Rows 是 Oracle 估计的当前操作返回的行数,也叫基数(Cardinality);
  • Bytes 是 Oracle 估计的当前操作涉及的数据量
  • Cost (%CPU) 是 Oracle 计算执行该操作所需的代价;
  • Time 是 Oracle 估计执行该操作所需的时间;
  • Predicate Information 显示与 Id 相关的谓词信息。access 是访问条件,影响到数据的访问方式(扫描表还是通过索引);filter 是过滤条件,获取数据后根据该条件进行过滤。

参考:https://database.51cto.com/art/201912/608403.htm

--END-- 2019-12-31 13:33

 

posted @   逆火狂飙  阅读(5769)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2017-12-31 x为正变数,求y=x^3/(x^4+4)的最大值
2017-12-31 【转载】《妻妾成群》:一切执迷,皆为牢笼
2014-12-31 爪哇国新游记之三十三----目录文件操作
2014-12-31 一个类似股票看板的自刷新页面的制作
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示