索引的作用:提高检索的查询效率
一.索引类型
1.索引类型是按照存储结构进行区分的,将其分为聚集索引(聚类索引,簇集索引)和非聚集索引(非聚类索引,非簇集索引)
聚集索引:根据每一个数据的键值(在视图中的排序顺序)进行存储,每一个表只有一个聚集索引,是对硬盘上的数据重新排列的结果,所以是物理存储顺序
非聚集索引:结构独立于数据行,其中有着非聚集索引键值,根据此键值对数据进行查询,所以是逻辑存储顺序
2.索引类型是按照唯一性进行区分的,将其分为唯一索引和非唯一索引
3.索引类型按照键列个数进行区分的,将其分为单列索引和多列索引
二.创建索引的方式
1.CREATE INDEX
格式为:
CREATE [UNIQUE] [CLUSTERED] [NONCLUSTERED]
INDEX <index name> on <table or view name>(<column name> [ASC/DESC] ...)
UNIQUE:唯一索引
CLUSTERED:聚集索引
NONCLUSTERED:非聚集索引
index name:索引名
table or view name:表名或视图名
column name:字段名
ASC/DESC:升序或降序排列
...:索引后可跟的大量参数
例如我们给Student表中的Id字段添加索引,索引名为index_test
create unique nonclustered index index_test
on Student(Id)
2.创建约束的同时进行创建
对于主键约束来说,这就是聚集索引
对于唯一约束来说,这就是唯一索引
三.删除索引
格式:
drop index <index name> on <table or view name>
index name:索引名
table or view name:表或视图名
四.查询索引
格式:
select * from 表名 with(index = 索引名)
where 限制