索引的定义:索引是对数据库中的表的某一个列或多个列的值进行排序的结构,提供了一个新的存取路径
索引的分类:①按照索引列上的值是否唯一:唯一索引--UNIQUE(建立唯一索引后,在插入数据的时候数据库管理系统DBMS会检查新记录在索引上是否取了重复值,相当于增加了一个UNIQUE的约束),和非唯一索引--NOT UNIQUE
②按照索引的结构,聚簇索引--Clustered Index 和非聚簇索引--Nonclustered Index,前者要求数据库中的记录是有序的,且和索引项的存放次序完全相同,即行中的物理顺序与键值的逻辑顺序相同,则一个表中只能有一个聚簇索引;后者则没有相应的要求。
创建索引:
create [unique] [clustered | nonclustered] index <索引名> on <表名> (<列名>[次序],.......)
删除索引:
drop index <表名.索引名>
注意:
①索引虽然加快了查找的速度,但是维护索引也要付出相应的代价。
②索引一经建立就由系统使用和维护,不需要用户的干预,建立索引是为了减少查询的时间,如果数据增、删、改比较频繁,系统会话费许多时间来维护索引。
③默认情况下建立的是非聚簇索引,NONCLUSTERED。
④在经常要搜索的列上建立索引
特点:
①聚簇索引能提高多行检索的速度,非聚簇索引能提高单行数据的查询速度