什么是索引


SQL Server使用的一种内部表结构,它是基于表中的一个列或多个列的值,

提供对表进快速访问的一种访问机制


全表扫描:对数据进行检索(select)效率最差的是全表扫描,就是一条条的找

索引的优势

提高存取数据页的速度

加快查询数据的速度



索引的类型

聚集索引

非聚集索引

如果没有目录,查汉语字典就要一页页的翻,而有了目录只要查询目录即可。

为了提高检索的速度,可以为经常进行检索的列添加索引,相当于创建目录


创建索引的方式,在表设计器中点击右键,选择“索引/键”→添加→在列中选择索引包含的列。


使用索引能提高查询效率,但是索引也是占据空间的,

而且添加、更新、删除数据的时候也需要同步更新索引,

因此会降低Insert、Update、Delete的速度。只在经常检索的字段上(Where)创建索引。



(*)即使创建了索引,仍然有可能全表扫描,比如like、函数、类型转换等。

使用CREATE INDEX创建


CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]

INDEX 索引名 ON 表名 (列名) 



使用DROP INDEX删除索引

下面的语句分别从sample数据库的test01和test02表中删除一个索引:


  USE sample

  DROP INDEX test01.index_1 , test02.index_1