Mega Code Archive

 
Categories / Oracle PLSQL / Index
 

Autotrace a table with two indexes

SQL> SQL> SQL> set echo on SQL> SQL> create table t as   2  select * from all_objects; Table created. SQL> SQL> create index t_idx1 on t(object_name); Index created. SQL> SQL> create index t_idx2 on t(object_type); Index created. SQL> SQL> set autotrace traceonly SQL> select * from t t1 where object_type in( 'FUNCTION','PROCEDURE', 'TRIGGER' ); 520 rows selected. Execution Plan -------------------------------------------------- Plan hash value: 831817202 -------------------------------------------------- ------------------------------------- | Id  | Operation                    | Name   | Ro ws  | Bytes | Cost (%CPU)| Time     | -------------------------------------------------- ------------------------------------- |   0 | SELECT STATEMENT             |        | 596 | 76288 |     7   (0)| 00:00:01 | |   1 |  INLIST ITERATOR             |        |     |       |            |          | |   2 |   TABLE ACCESS BY INDEX ROWID| T      | 596 | 76288 |     7   (0)| 00:00:01 | |*  3 |    INDEX RANGE SCAN          | T_IDX2 |  52 |       |     3   (0)| 00:00:01 | -------------------------------------------------- ------------------------------------- Predicate Information (identified by operation id) : -------------------------------------------------- -    3 - access("OBJECT_TYPE"='FUNCTION' OR "OBJECT_ TYPE"='PROCEDURE' OR               "OBJECT_TYPE"='TRIGGER') Note -----    - dynamic sampling used for this statement Statistics --------------------------------------------------         248  recursive calls           0  db block gets         243  consistent gets           3  physical reads           0  redo size       28155  bytes sent via SQL*Net to client         754  bytes received via SQL*Net from clien t          36  SQL*Net roundtrips to/from client           0  sorts (memory)           0  sorts (disk)         520  rows processed SQL> SQL> set autotrace off SQL> SQL> drop table t; Table dropped. SQL> SQL> --