解决autotrace不显示Predicate Information的问题

来源:互联网 发布:windows教育版不能用 编辑:程序博客网 时间:2024/06/10 01:53

     用autotrace在有的数据库上可以看到Predicate Information,有时候看不到,原因是plan_table版本旧所致,解决方法如下:

SQL>set autotrace traceonly

SQL> select u.name
  2    from user u
  3   where u.department_id in (select d.department_id from department d);
 
执行计划
-----------------------------------------------------------------------------
| Id  | Operation          | Name              | Rows  | Bytes | Cost (%CPU)|
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |                   |  5251 | 89267 |    15   (7)|
|   1 |  NESTED LOOPS      |                   |  5251 | 89267 |    15   (7)|
|   2 |   TABLE ACCESS FULL| USER          |  5273 | 63276 |    14   (0)|
|   3 |   INDEX UNIQUE SCAN| PK_DEPARTMENT |     1 |     5 |     0   (0)|
-----------------------------------------------------------------------------
Note
-----
   - 'PLAN_TABLE' is old version

统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
       6024  consistent gets
          0  physical reads
          0  redo size
      72158  bytes sent via SQL*Net to client
       4156  bytes received via SQL*Net from client
        348  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
       5195  rows processed
      
处理方法:
drop table PLAN_TABLE;
@?/rdbms/admin/utlxplan

SQL> select u.name
  2    from user u
  3   where u.department_id in (select d.department_id from department d);

执行计划
----------------------------------------------------------
Plan hash value: 2264021098

----------------------------------------------------------------------------------------
| Id  | Operation          | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |                   |  5251 | 89267 |    15   (7)| 00:00:01 |
|   1 |  NESTED LOOPS      |                   |  5251 | 89267 |    15   (7)| 00:00:01 |
|   2 |   TABLE ACCESS FULL| USER          |  5273 | 63276 |    14   (0)| 00:00:01 |
|*  3 |   INDEX UNIQUE SCAN| PK_DEPARTMENT |     1 |     5 |     0   (0)| 00:00:01 |
----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   3 - access("U"."DEPARTMENT_ID"="D"."DEPARTMENT_ID")
  
统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
       6024  consistent gets
          0  physical reads
          0  redo size
      72158  bytes sent via SQL*Net to client
       4156  bytes received via SQL*Net from client
        348  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
       5195  rows processed