Oracle中常用的索引有B树索引和位图索引,先来看B树索引。
访问B树索引也有很多方式,最简单的是索引唯一扫描,出现在where条件的字段有唯一索引,且使用等值查询的时候,返回的记录至多1条。索引唯一扫描的执行计划为INDEX UNIQUE SCAN。
查看HR用户下EMPLOYEES表的EMPLOYEE_ID字段的索引,为唯一索引。
SQL> select a.table_name,column_name,a.index_name,index_type,uniqueness from user_indexes a,user_ind_columns b where a.index_name=b.index_name and a.table_name='EMPLOYEES' and column_name='EMPLOYEE_ID';
TABLE_NAME COLUMN_NAME INDEX_NAME INDEX_TYPE UNIQUENES
-------------------- -------------------- -------------------- -------------------- ---------
EMPLOYEES EMPLOYEE_ID EMP_EMP_ID_PK NORMAL UNIQUE
SQL> select employee_id,last_name,salary from employees where employee_id=100;
Execution Plan
----------------------------------------------------------
Plan hash value: 1833546154
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 16 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES | 1 | 16 | 1 (0)| 00:00:01 |
|* 2 | INDEX UNIQUE SCAN | EMP_EMP_ID_PK | 1 | | 0 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28536251/viewspace-2139890/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28536251/viewspace-2139890/