聚集索引和非聚集索引
一、聚集索引
键值的逻辑顺序决定了表中相应行的物理顺序。
1.聚集索引可以创建在任何的字段上。每张表只有一个聚集索引。但是很多情况下,是创建在主键上,而主键是唯一的。所以,很多人认为聚集索引的约束是唯一性的。
2.如果未使用UNIQUE属性创建聚集索引,数据库引擎将向表自动添加一个uniqueifier列。必要时,数据库引擎将向行自动添加一个uniqueifier值,使每一个键唯一。此列和列值供内部使用,用户不能查看或访问。
3.很多情况下,聚集索引比非聚集索引性能更优。当返回的列很少时,可以在返回的列创建联合非聚集索引,比其中一列创建聚集索引性能更优。
二、非聚集索引
索引的逻辑顺序与磁盘上行的物理存储顺序不同。
两者的区别:
1.聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
2.聚集索引存储记录是物理连续,而非聚集索引是逻辑连续,物理存储并不连续。
注意区分聚集索引和聚簇索引,可以看聚簇索引。