SQL Server 的聚簇索引与非聚簇索引

 

聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。
非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小。
一张表只有一个聚簇索引,可有多个非聚簇索引。

下表描述聚簇索引与非聚簇索引的适用范围: 

动作描述 使用聚集索引 使用非聚集索引
列经常被分组排序
返回某范围内的数据 不应
返回精确匹配的数据 不应
一个或极少不同值 不应 不应
小数目的不同值 不应
大数目的不同值 不应
频繁更新的列 不应
外键列
主键列
注:主键列如果是采用标识且经常用于范围查询,则适用聚簇索引,否则适用非聚簇索引。

这里有一个详细的讨论: http://blog.csdn.net/ChinaOffLineSoft/archive/2006/04/11/659725.aspx

你可能感兴趣的:(sql,server)