数据库的索引

数据库的索引

 

1.索引的分类:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(

nonclustered index,也称非聚类索引、非簇集索引)。

 

我们把这种内容本身就是一种按照一定规则排列的目录称为“聚集索引”。

我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。

 

由于聚集索引跟内容的存储顺序相关,因此一个表只能存在一个聚集索引。使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。

 

2.索引的实现: Hash B树。。

 

3.索引的使用:区分单列索引及联合索引:

 

举例如下:

查询语句“select * from t1 where c1=1 and c2=2”中,

 

Case1c1列和c2列上分别建有索引ic1ic2,那么先使用ic1(ic2)进行过滤,

产生的结果集是临时数据,不再具有索引,所以不可使用ic2(ic1)进行再次过滤。

 

Case2:假设存在组合索引it1c1c2(c1,c2),那么查询语句“select * from t1

where c1=1 and c2=2”将能够使用该索引。

 

并且查询语句“select * from t1 where c1=1”也能够使用该索引。但是,查询语句“s

elect * from t1 where c2=2”不能够使用该索引,因为没有组合索引的引导列,即,要

想使用c2列进行查找,必需出现c1等于某值。

 

因此,where条件语句写的顺序对索引来讲,是至关重要的。

你可能感兴趣的:(数据库)