ITPub博客

首页 > 数据库 > Oracle > Oracle访问索引的执行计划(一)

Oracle访问索引的执行计划(一)

原创 Oracle 作者:stonebox1122 时间:2017-05-25 19:23:23 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/28536251/viewspace-2139890/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-13

  • 博文量
    204
  • 访问量
    1188969