解决autotrace不显示Predicate Information的问题


用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

相关内容

    暂无相关文章