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

簇索引和非簇索引

作者: 吱吱_呀 | 来源:发表于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

相关文章

  • 簇索引和非簇索引

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

  • MySQL索引

    聚簇索引和非聚簇索引 只有Innodb有聚簇索引,MyISAM引擎没有聚簇索引。 主键一定是聚簇索引,MySQL的...

  • MySQL:聚簇索引

    什么是聚簇索引?什么时候使用聚簇索引和非聚簇索引? 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非...

  • 数据库

    介绍一下聚簇索引和非聚簇索引 聚簇索引(innobe)的叶子节点就是数据节点 而非聚簇索引(myisam)的叶子节...

  • 聚簇索引和非聚簇索引

    索引通过B+树存储。 聚簇索引:索引和数据是存在一起的。当找到索引之后索引叶子节点存的就是数据。 非聚簇索引:索引...

  • 聚簇索引和非聚簇索引

    聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。MySQL数据库中innodb存储引擎,B+树索引可以分为...

  • 聚簇索引和非聚簇索引

    上网查资料的时候我们经常能看到聚簇索引和非聚簇索引,那我们来简单了解下: (一)聚簇索引(1) 百度百科的解释是:...

  • 聚簇索引和非聚簇索引

    聚簇索引:索引的叶节点就是数据节点。innodb 非聚簇索引:非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指...

  • 索引

    mysql中的索引 MySQL中普遍使用B+Tree做索引,但在实现上又根据聚簇索引和非聚簇索引而不同。 聚簇索引...

  • 面试总结

    mysql 索引的类型、索引的底层结构、索引失效的情况聚簇索引和非聚簇索引mysql的隔离级别, innerdb默...

网友评论

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

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