您的位置:首页 > 数据库 > Oracle

oracle查看执行计划的三种方法

2014-08-04 15:15 477 查看

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工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: