索引
用于加速数据存取的数据对象
创建索引
单列索引
基于单个列所建立的索引
create index 索引名 on 表名(列名);
复合索引
基于两列或是多列的索引
在一张表上可以有多个索引,但是要求列的组合必须不同
create index emp_idx on emp(ename,job);
create index emp_idx on emp(job,ename);
使用原则
- 在大表上建立索引才有意义
- 在where子句或是连接条件上经常引用的列上建立索引
- 索引的层次不要超过4层
显示表的所有索引
在一张表上可以有多个索引,通过查询数据字典视图dba_indexs(显示数据库所有的索引信息)和user_indexs(显示当前用户的索引信息)可以显示索引信息
select index_name,index_type
from user_indexs
where table_name = '表名';
显示索引列
通过查询数据字段视图 user_ind_columns,可以显示索引对应的列的信息
select table_name,column_name
from user_ind_columns
where index_name = 'IND_ENAME';