美文网首页
聚簇索引和非聚簇索引的简单理解

聚簇索引和非聚簇索引的简单理解

作者: bulbuls | 来源:发表于2018-04-10 17:43 被阅读0次

假设我们有一张表,表里面有俩个字段 id int,name varchar,其中id是主键,那么这张表的聚簇索引和非聚簇索引有什么区别呢(为了方便我以表格的形式来展示,实际上是树形结构)

非聚簇索引的样子:

id 1 2 3
磁盘地址 数据1的地址 数据2的地址 数据3的地址

非聚簇索引二级索引的样子: 以name为索引

name 张三 李四 王五
磁盘地址 张三的地址 李四的地址 王五的地址

非聚簇索引和二级索引比较相似通过索引列找到数据的实际磁盘地址,再通过磁盘地址找到数据;

聚簇索引的样子:

id 1 2 3
row数据 1,张三 2,李四 3,王五

聚簇索引二级索引的样子: 以name为索引

name 张三 李四 王五
row数据 张三,1 李四,2 王五,3
聚簇索引的叶子结点上存储着列数据,通过主键找到叶子后就能拿到数据了。 聚簇索引的二级索引则存储列和主键,通过索引列找到主键之后,在去主键聚簇索引上找到相关的列数据
注:聚簇索引和非聚簇索引的区别远不止这些,以上只是个人的一点点理解,如有错误请指正

相关文章

  • MySQL索引

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

  • MySQL:聚簇索引

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

  • 数据库

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

  • 聚簇索引和非聚簇索引的简单理解

    假设我们有一张表,表里面有俩个字段 id int,name varchar,其中id是主键,那么这张表的聚簇索引和...

  • 索引

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

  • 聚簇索引和非聚簇索引

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

  • 聚簇索引和非聚簇索引

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

  • 聚簇索引和非聚簇索引

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

  • 聚簇索引和非聚簇索引

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

  • 聚簇索引的定义

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

网友评论

      本文标题:聚簇索引和非聚簇索引的简单理解

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