经常需要看一些sql的执行计划,大的sql用autotrace就不太合适了,需要时间.而通常用plan_table直接输出又不方便阅读.这里给出一个脚本,方便自己,忘了自己在哪本书上看的了.
SQL> EXPLAIN PLAN
2 SET STATEMENT_ID='SQL1' FOR select * from dual;
已解释。
SQL>SQL> select lpad('',2*(level-1))||level||'.'||nvl(position,0)||''||
2 operation||''||options||''||object_name||''||object_type
3 ||''||decode(id,0,statement_id||'cost='||position)||cost
4 ||''||object_node "query plan"
5 from plan_table
6 start with id=0 and statement_id='SQL1'
7 connect by prior id=parent_id
8 and statement_id='SQL1';
query plan-------------------------------------------------------------------------------
1.0SELECT STATEMENTSQL1cost=2.1TABLE ACCESSFULLDUAL
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/104152/viewspace-139986/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/104152/viewspace-139986/