oracle查看执行计划的三种方法
2014-08-04 15:15
477 查看
1.1设置autotrace
SQL>set autotrace on
SQL>select * from dave;
ID NAME
---------- ----------
8
安庆
1 dave
2 bl
1 bl
2 dave
3 dba
4 sf-express
5 dmm
已选择8行。
执行计划
----------------------------------------------------------
Plan hash value: 3458767806
--------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 8 | 64 |
2 (0)| 00:00:01 |
| 1 |
TABLE ACCESS FULL| DAVE | 8 | 64 |
2 (0)| 00:00:01 |
--------------------------------------------------------------------------
统计信息
----------------------------------------------------------
0
recursive calls
0
db block gets
4
consistent gets
0
physical reads
0
redo size
609
bytes sent via SQL*Net to client
416
bytes received via SQL*Net from client
2
SQL*Net roundtrips to/from client
0
sorts (memory)
0
sorts (disk)
8
rows processed
SQL>
1.2使用SQL
SQL>EXPLAIN PLAN FOR sql语句;
SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
示例:
SQL>EXPLAIN PLAN FOR SELECT * FROM DAVE;
已解释。
SQL> SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
或者:
SQL> select
* from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3458767806
--------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 8 | 64 |
2 (0)| 00:00:01 |
| 1 |
TABLE ACCESS FULL| DAVE | 8 | 64 |
2 (0)| 00:00:01 |
--------------------------------------------------------------------------
已选择8行。
执行计划
----------------------------------------------------------
Plan hash value: 2137789089
--------------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------
af1d
-----------
| 0 | SELECT STATEMENT
| | 8168 | 16336 | 29 (0)| 00:00:01 |
| 1 |
COLLECTION ITERATOR PICKLER FETCH| DISPLAY | 8168 | 16336 |
29 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
统计信息
----------------------------------------------------------
25
recursive calls
12
db block gets
168
consistent gets
0
physical reads
0
redo size
974
bytes sent via SQL*Net to client
416
bytes received via SQL*Net from client
2
SQL*Net roundtrips to/from client
1
sorts (memory)
0
sorts (disk)
8
rows processed
SQL>
1.3使用Toad,PL/SQL
Developer工具
1.1设置autotrace
序号 | 命令 | 解释 |
1 | SET AUTOTRACE OFF | 此为默认值,即关闭Autotrace |
2 | SET AUTOTRACE ON EXPLAIN | 只显示执行计划 |
3 | SET AUTOTRACE ON STATISTICS | 只显示执行的统计信息 |
4 | SET AUTOTRACE ON | 包含2,3两项内容 |
5 | SET AUTOTRACE TRACEONLY | 与ON相似,但不显示语句的执行结果 |
SQL>set autotrace on
SQL>select * from dave;
ID NAME
---------- ----------
8
安庆
1 dave
2 bl
1 bl
2 dave
3 dba
4 sf-express
5 dmm
已选择8行。
执行计划
----------------------------------------------------------
Plan hash value: 3458767806
--------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 8 | 64 |
2 (0)| 00:00:01 |
| 1 |
TABLE ACCESS FULL| DAVE | 8 | 64 |
2 (0)| 00:00:01 |
--------------------------------------------------------------------------
统计信息
----------------------------------------------------------
0
recursive calls
0
db block gets
4
consistent gets
0
physical reads
0
redo size
609
bytes sent via SQL*Net to client
416
bytes received via SQL*Net from client
2
SQL*Net roundtrips to/from client
0
sorts (memory)
0
sorts (disk)
8
rows processed
SQL>
1.2使用SQL
SQL>EXPLAIN PLAN FOR sql语句;
SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
示例:
SQL>EXPLAIN PLAN FOR SELECT * FROM DAVE;
已解释。
SQL> SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));
或者:
SQL> select
* from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3458767806
--------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT
| | 8 | 64 |
2 (0)| 00:00:01 |
| 1 |
TABLE ACCESS FULL| DAVE | 8 | 64 |
2 (0)| 00:00:01 |
--------------------------------------------------------------------------
已选择8行。
执行计划
----------------------------------------------------------
Plan hash value: 2137789089
--------------------------------------------------------------------------------
| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------
af1d
-----------
| 0 | SELECT STATEMENT
| | 8168 | 16336 | 29 (0)| 00:00:01 |
| 1 |
COLLECTION ITERATOR PICKLER FETCH| DISPLAY | 8168 | 16336 |
29 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
统计信息
----------------------------------------------------------
25
recursive calls
12
db block gets
168
consistent gets
0
physical reads
0
redo size
974
bytes sent via SQL*Net to client
416
bytes received via SQL*Net from client
2
SQL*Net roundtrips to/from client
1
sorts (memory)
0
sorts (disk)
8
rows processed
SQL>
1.3使用Toad,PL/SQL
Developer工具
相关文章推荐
- ORACLE中查看SQL执行计划的几种方法
- 查看Oracle执行计划的几种方法
- 查看Oracle执行计划的几种常用方法-系列2
- 查看ORACLE执行计划的几种常用方法
- 查看Oracle执行计划的几种方法
- ORACLE中查看SQL执行计划的方法
- 查看Oracle执行计划的几种常用方法-系列1 .
- ORACLE--数据库查看执行计划的方法
- oracle查看执行计划的方法
- 查看oracle执行计划方法( 二)
- 查看oracle执行计划方法( 一)
- 查看Oracle执行计划的几种常用方法-系列3
- Oracle SQL baseline--调整执行计划的三种方法(转载)
- 查看Oracle执行计划的几种方法
- 查看Oracle执行计划的几种常用方法-系列1
- 查看Oracle执行计划的几种方法
- oracle 查看执行计划方法(SQL developer,sqlplus)
- 查看Oracle执行计划的几种方法