不可见索引和虚拟索引。(三)

2014-11-24 17:08:09 · 作者: · 浏览: 3
: 3956160932 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 32 | 6 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| EMP | 1 | 32 | 6 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("EMPNO"=7369) SQL> alter session set "_use_nosegment_indexes"=false; SQL> drop index EMP_NOSEGMENT_IDX1 2 ; SQL> create index EMP_NOSEGMENT_IDX1 on emp(empno); SQL> select * from emp where empno=7369; Execution Plan ---------------------------------------------------------- Plan hash value: 612339345 -------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 32 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| EMP | 1 | 32 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | EMP_NOSEGMENT_IDX1 | 1 | | 1 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("EMPNO"=7369) SQL>

从以上可以看出虚拟索引也是不准的,oracle有可能使用虚拟索引也有可能不使用虚拟索引。