聚集索引和非聚集索引
一、聚集索引
键值的逻辑顺序决定了表中相应行的物理顺序。
1.聚集索引可以创建在任何的字段上。每张表只有一个聚集索引。但是很多情况下,是创建在主键上,而主键是唯一的。所以,很多人认为聚集索引的约束是唯一性的。
2.如果未使用UNIQUE属性创建聚集索引,数据库引擎将向表自动添加一个uniqueifier列。必要时,数据库引擎将向行自动添加一个uniqueifier值,使每一个键唯一。此列和列值供内部使用,用户不能查看或访问。
3.很多情况下,聚集索引比非聚集索引性能更优。当返回的列很少时,可以在返回的列创建联合非聚集索引,比其中一列创建聚集索引性能更优。
二、非聚集索引
索引的逻辑顺序与磁盘上行的物理存储顺序不同。
两者的区别:
1.聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
2.聚集索引存储记录是物理连续,而非聚集索引是逻辑连续,物理存储并不连续。
注意区分聚集索引和聚簇索引,可以看聚簇索引。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步