聚簇索引:对磁盘上的数据重新组织,以按照指定的一列或者多列排序。 聚簇索引确定表中数据的物理排序。
候选列:主键列,该列在where子句中使用并且插入是随机的。
按范围取值的列,如 id>100 and id<120
在group by 、 order by中使用的列
不经常修改的列
在连接操作中使用的列
非聚簇索引:索引顺序与数据物理排列顺序无关。
用在以下情况:1. 某列常用于集合函数(如sum)
2.某列常用于 join、group by、order by
3.查询出的数据不超过总数据的20%
聚簇索引和非聚簇索引的区别:
1.聚簇索引的页结点就是数据块,非聚簇索引的页结点任然是索引检点,保留一个指向数据块的连接。
2.聚簇索引主键的插入速度要比非聚簇索引主键的插入速度慢很多。
3.相比之下,聚簇索引适合排序。因为数据已经按照物理顺序排好序。
4.查询一定范围内的数据时用聚簇索引比较好。