美文网首页
聚簇索引的定义

聚簇索引的定义

作者: 舒小贱 | 来源:发表于2020-09-13 17:05 被阅读0次

定义

一直对聚簇索引的概念不是很清晰。之前的理解(包括网路上的解释),聚簇索引和非聚簇索引的区别是:
叶子节点是否存放一整行记录

以mysql为例:

  • innodb引擎,主键使用的是聚簇索引,非主键使用的是非聚簇索引。
  • myisam引擎,不管主键还是非主键,使用的都是非聚簇索引。
聚簇索引与非聚簇索引.png

并且还给了如上的示意图。

但是我一直对这个解释存疑,不能直观的把聚簇索引的定义和innodb的主键聚簇索引联系在一起。

直到我读到了[数据库系统内幕]这本书中对聚簇索引的\color{red}{定义}
\color{red}{如果数据记录的顺序遵循搜索键顺序,则这种索引称为聚簇索引(clustered/clustering index)。}

书中还详细讲解到:聚簇索引中的数据记录,通常与索引存储于同一个文件中,有时也存放在单独的聚簇文件中,而这些文件均保留了键的顺序。如果数据存储在单独的文件中,且其顺序不遵循键顺序,则索引为非聚簇索引。

参考

[数据库系统内幕] 2020-05第一版 p23

相关文章

  • MySQL索引

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

  • 聚簇索引的定义

    定义 一直对聚簇索引的概念不是很清晰。之前的理解(包括网路上的解释),聚簇索引和非聚簇索引的区别是:叶子节点是否存...

  • 数据库

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

  • MySQL:聚簇索引

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

  • DAY5:MySQL聚簇索引

    一、定义及说明 定义聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。InnoDB的聚簇索引实际上在同一个结...

  • 索引

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

  • 聚簇索引非聚簇索引

    从数据结构角度1、B+树索引2、hash索引3、FULLTEXT索引(InnoDB引擎5.7以后支持)4、R-Tr...

  • 聚簇索引非聚簇索引

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

  • mysql聚集索引,非聚集索引

    唯一索引,主键(聚集)索引,非聚集索引,全文索引。聚集(clustered)索引,也叫聚簇索引。定义:数据行的物理...

  • MySql数据库相关

    聚簇索引与非聚簇索引(也叫二级索引) 通俗点讲 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据 非聚...

网友评论

      本文标题:聚簇索引的定义

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