索引:对数据库表中一列或多列的值进行排序的一种结构,通过索引可快速访问数据库表中的特定信息,即通过索引对数据列的值进行结构化排序。
其中,索引包含聚簇索引和非聚簇索引
聚簇索引的顺序就是数据的物理存储顺序
非聚簇索引的索引顺序与数据物理排列顺序无关
所以一个表最多只能有一个聚簇索引
【聚簇索引】
在网上很多都有举到的例子,新华字典,聚簇索引就类似于拼音查找,整本字典的排序都是按照A-Z的顺序排序的,如果要找一个“pai”字,那么它只会在“P”开头的字母范围内,而我们查找时,只需要从P开始查找就可以了,如果找不到也就不可能存在其他的地方了,这样我们就不用查找a-o部分的数据了。
一般默认聚簇索引都是主键,设置了主键,系统默认就为你加上了聚簇索引,如果要自定义聚簇索引,需要在创建表时先指定好。
【非聚簇索引】
同理,非聚簇索引就像是字典的部首查找,我们先从部首索引里面找到这个字,再到指定的页码就能找到该字的具体信息了,但是,这个部首的所有值,并不在字典的某一个范围,而是整个字典的范围内。即非聚簇索引是按照一定的顺序来排列数据的,这与数据的物理储存方式不一样,需要通过一定的方式来记录顺序的,所以在频繁更新数据的情况下,需要更多的额外开销。
以上是个人对于索引的一点简单记录,如果需要更深理解,可以
聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)
建立索引的原则总结
建立Clustered(聚簇)索引原则
查看下这几篇相关文章。
本文深入解析数据库中的聚簇和非聚簇索引概念,通过新华字典和部首查找的比喻,形象说明两者区别。聚簇索引如同字典按拼音排序,直接影响数据存储顺序,提高查找效率;非聚簇索引则类似部首索引,需额外记录指向实际数据的位置,适合复杂查询但更新成本较高。
989

被折叠的 条评论
为什么被折叠?



