美文网首页
簇索引和非簇索引

簇索引和非簇索引

作者: 吱吱_呀 | 来源:发表于2022-08-24 16:45 被阅读0次

    索引是一个单独的、物理的数据库结构,是数据库的一个表中所包含的值的列表,其中注明了表的各个值所在的存储位置

    索引是依赖于表建立的,实际上一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分用来存放索引页面。

    一般数据库,按存储结构不同将索引分为簇索引(ClusteredIndex)和非簇索引(NoClusteredIndex)

    1.簇索引

    簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,及簇索引与数据是混为一体的,它的叶节点中存储的是实际的数据

    表的数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个簇索引(比如学生表中有一列学生姓名,并为学生姓名创建了簇索引,那么表的数据行会按照学生姓名列,重新进行排序并存储,如果在设置一个簇索引,排序会与学生姓名冲突,所以一个表只能有一个簇索引)

    2.非簇索引

    非簇索引具有与表的数据完全分离的结构,使用非簇索引不必将物理数据页的数据按列排序

    非簇索引的叶节点中存储了关键字的值和行定位器。行定位器的结构和存储内容取决于数据的存储方式。如果数据是以簇索引的方式存储的,则行定位器存储的是簇索引的索引键;如果数据不是以簇索引的方式存储的,则行定位器存储的是指向数据行的指针,这种方式又称堆存储方式

    理论上,一个表最多建249个非簇索引 

    https://www.cnblogs.com/wsming/p/13864292.html

    https://blog.csdn.net/junli_chen/article/details/107715346

    https://blog.csdn.net/alexdamiao/article/details/51934917

    相关文章

      网友评论

          本文标题:簇索引和非簇索引

          本文链接:https://www.haomeiwen.com/subject/nvisvrtx.html