执行计划可以用来分析SQL的性能
一、查看执行计划的方法
1. 设置autotrace
set autotrace off: 此为默认值,即关闭autotrace
set autotrace on explain: 只显示执行计划
set autotrace on statistics: 只显示执行的统计信息
set autotrace on: 既显示执行计划,又显示执行的统计信息
set autotrace traceonly: 与on相似,但不显示语句的执行结果
示例:
set autotrace on;
select 1 from dual;
注意:如果在执行set autotrace时出现以下错误提示:
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
可尝试如下方式解决:
conn / as sysdba;
执行@$ORACLE_HOME/RDBMS/ADMIN/utlxplan.sql,或执行一下$ORACLE_HOM\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlxplan.sql文件的内容.
执行@$ORACLE_HOME/sqlplus/admin/plustrce.sql,或执行一下$ORACLE_HOM\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql文件的内容.
grant plustrace to public;
2. 使用SQL
执行:explain plan for <sql语句>
查看:SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
或 select * from table(dbms_xplan.display);
示例:
explain plan for select 1 from dual;
s