如何查看sql执行计划

sparadise1003 2009-01-21 08:59:34

SELECT /*+RULE*/class2, RIGHT, w2isborrowed
FROM pdmm31a.assmstrc
WHERE LEFT = 'sieczKcpdmtstpdmm31a-bJ1'

我如何查看上面这条sql语句的详细执行信息,执行速度、索引等等。
...全文
594 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yf520gn 2009-01-21
  • 打赏
  • 举报
回复

方法一

第一步:用DBA权限的账户登入sql/plus 执行命令(无先后顺序)


set time on; (说明:打开时间显示)
set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果)
set autotrace traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)

二者选一个执行

第二步: 输入你要查看的sql 执行

方法二

先执行 EXPLAIN PLAN FOR select * from G_GAMBLING gamb where gamb.active=1

再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的执行计划了

sparadise1003 2009-01-21
  • 打赏
  • 举报
回复
我在toad里成功的执行的了查询计划,不过有点看不懂,你大家帮我解释一下这段计划的含义呗
Plan
|-SELECT STATEMENT HINT: RULE
|-2 TABLE ACCESS BY INDEX ROWID PDMM31A.ASSMSTRC
|-1 INDEX RANGE SCAN NON-UNIQUE PDMM31A.ASSMSTRC_RLTLEFTINDEX
阿三 2009-01-21
  • 打赏
  • 举报
回复
在sqlplus中set traceonly on;
sparadise1003 2009-01-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hebo2005 的回复:]
这条语句,如果你LEFT字段上没有索引,就是全表扫描,有索引就是强制走索引
[/Quote]
我现在不知道LEFT上有没有索下,也不知道这条sql语句走没走索引,所以我才想查看一下执行计划啊,请帮帮忙指教一下怎么查看执行计划,谢谢……
hebo2005 2009-01-21
  • 打赏
  • 举报
回复
这条语句,如果你LEFT字段上没有索引,就是全表扫描,有索引就是强制走索引
sparadise1003 2009-01-21
  • 打赏
  • 举报
回复
我记得好像是有个命令好像是“explan plan for……”,我记不清了,请高手帮忙
xiaohu0901 2009-01-21
  • 打赏
  • 举报
回复
F5看执行计划

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧