1,适用情况表
动作描述 | 使用聚集索引 | 使用非聚集索引 |
列经常被分组排序 | 应 | 应 |
返回某范围内的数据 | 应 | 不应 |
一个或极少不同值 | 不应 | 不应 |
小数目的不同值 | 应 | 不应 |
大数目的不同值 | 不应 | 应 |
频繁更新的列 | 不应 | 应 |
外键列 | 应 | 应 |
主键列 | 应 | 应 |
频繁修改索引列 | 不应 | 应 |
2,主键与聚集索引
Sqlserver在建立主键时,默认会对主键字段建立聚集索引。如果表中已有其它字段的聚集索引,由于聚集索引唯一(聚集索引决定数据物理存储结构),SqlServer只能对主键建立非聚集索引
3,填充因子
可以把索引理解为一个目录,当这个目录刚建立时,每一项之间都会有一段空白的空间用于以后填充新的项,这段空白空间的大小就是填充因子。如果这段空白太小或者目录越来越充实,直到每项之间没有空间可以插入新项时,再插入新项时,数据库需要对插入位置后面的项做后移操作,每次这样的操作会导致索引维护时间的增加和碎片的增多。