- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
ORACLE EXPLAIN PLAN的总结
录入:edatop.com 点击:
2、2 使用
使用起来非常方便,只要使用一条命令就可以了
SQL>SET AUTOTRACE ON;
*autotrace功能只能在SQL*PLUS里使用
其他一些使用方法:
2.2.1、在SQLPLUS中得到语句总的执行时间
SQL> set timing on;
2.2.2、只显示执行计划--(会同时执行语句得到结果)
SQL>set autotrace on explain
比如:
sql> select count(*) from test;
count(*)
-------------
4
Execution plan
----------------------------
0 select statement ptimitzer=choose (cost=3 card=1)
1 0 sort(aggregate)
2 1 partition range(all)
3 2 table access (full) of 't_test' (cost=3 card=900)
2.2.3、只显示统计信息---(会同时执行语句得到结果)
SQL>set autotrace on statistics;
(备注:对于SYS用户,统计信息将会是0)
2.2.4、显示执行计划,屏蔽执行结果--(但语句实质还执行的
SQL> set autotrace on traceonly;
(备注:同SET AUTOTRACE ON; 只不过不显示结果,显示计划和统计)
2.2.5、仅仅显示执行计划,屏蔽其他一切结果--(语句还是执行了)
SQL>set autotrace on traceonly explain;
对于仅仅查看大表的Explain Plan非常管用。
2.2.6、关闭
SQL>set autotrace off;
总结:SQLPLUS 下的自动显示功能,在看执行计划中其语句还是会被执行的。尤其在执行UPDATE/DELETE语句时请千万注意,ORACLE是先执行脚本同时显示执行计划的,即使使用set autotrace on traceonly explain;
这个时候推荐使用EXPLAIN PLAN FOR来看或者PL/SQL等第三方工具
3、第三工具来看执行计划
如果在PL/SQL中使用选择要查询语句显示执行计划,则只需要SQL WINDOWS 窗口里面输入要查询的SQL语句,然后选择按键F5或者在菜单TOOLS?D?D>Explain Plan 菜单按键就可以在执行计划窗口查看该语句的执行计划。
在TOAD语句中在执行当前的SQL窗口中选择下方的Explain PlanTAB页即可以查看要执行语句的执行计划信息。
4、限制
explain真正的唯一的限制是用户不能去解释其它用户的表,视图,索引或其它类型,用户必须是所有被解释事物的所有者,如果不是所有者而只有select权限,explain会返回一个错误。
上一篇:互联网新业务浅析
下一篇:深入了解Oracle数据恢复/挖掘工具FySafe


