当前位置: 代码迷 >> 综合 >> 获得执行计划方法二-explain plan
  详细解决方案

获得执行计划方法二-explain plan

热度:95   发布时间:2024-01-08 22:21:06.0
EXPLAIN PLAN
###############################################################################################

1 安装
$ORACLE_HOME/rdbms/admin/utlxplan.sql (UNIX)  脚本生成一个表这个程序会创建一个名为plan_table的表

2 运行
explain PLAN [ SET STATEMENT_ID [=] < string literal > ] [ INTO < table_name > ]
FOR < sql_statement >
其中:
STATEMENT_ID:是一个唯一的字符串,把当前执行计划与存储在同一PLAN中的其它执行计划区别开来。
TABLE_NAME:是plan表名,它结构如前所示,你可以任意设定这个名称。
SQL_STATEMENT:是真正的SQL语句。                                                                   

3 运行

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 272002086

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------

8 rows selected.




SELECT A.OPERATION,OPTIONS,OBJECT_NAME,OBJECT_TYPE,ID,PARENT_ID
FROM PLAN_TABLE  a
WHERE STATEMENT_ID='laodao'
ORDER BY Id;