Oracle 如何查看执行计划

定义:用来执行目标SQL语句的这些步骤的组合就被称为执行计划。
oracle查看执行计划的几种方式:
1、explain plan命令(可能不准确,SQL语句没有实际执行是个估计值)

--语法:explain plan for 目标sql
explain plan select * from customer;

PL/SQL Developer执行计划就是对explain plan的封装

2、DBMS_XPLAN包

#1 查看explain plan命令后得到的执行计划
select * from table(dbms_xplan.display);
#2 查看当前窗口刚刚执行过的SQL的执行计划(前提是执行计划还在Shared Pool中)
select * from table(dbms_xplan.display_cursor(null,null,'advanced');
#3 查看指定sql的执行计划 sql_id/hash_value可通过v$sql查看(前提是执行计划还在Shared Pool中)
select * from table(dbms_xplan.display_cursor('sql_id/hash_value',child_cursor_number,'advanced');
#4 查看指定SQL的所有历史执行计划 
select * from table(dbms_xplan.display_awr('sql_id');

3、AUTOTRACE开关

#语法
SET AUTOTRACE {OFF|ON|TRACEONLY}
[EXPLAIN]
{STATISTICS}
SET AUTOT ON;
select  * from customer;

4、10046事件与tkprof命令
还没有使用过不描述。

你可能感兴趣的:(oracle)