索引是根据表中一列或若干列按照一定的顺序建立的列值与记录之间的对应关系表,默认的情况下,系统创建的为B树索引。
创建索引的方式
(1)隐式索引:DBMS一般会在创建primary key(主键)和unique 约束列上自动建立索引;
(2)显示索引:使用 create index语句创建。
create [unique] index <索引名> on表名(<列名>[asc][desc])
asc 升序 可缺省;desc 是降序;
建立索引后,DBMS(数据库管理系统)负责使用和维护索引。
删除
drop index <表名>.<索引名称>
用户只能删除自己建立的索引表
例子
1.对xs表的名字列创建索引。
create index xs_sname_idx on xs(sname);
在xs表中 索引表
查询学生的姓名
select sname from xs;
查询索引的使用情况
select * from v$object usage;
索引未被使用
如果你是在姓名上创建的索引 你这一列作为查询条件时 那么就会用到你创建的索引
栗子:
select * from xs where sname ='王林';
select * from v$object usage;
例2:对xs表的名字列创建唯一索引
create unique index xs_sname_unique_idx
on xs(sname);
创建唯一性索引 该列 不能违反唯一性原则 即 无重复字段 否则 创建失败
例3:为cj表创建学号列和课程号列的复合索引
create index cj_idx
on cj(sno,cno);