美文网首页
聚集索引与非聚集索引的总结

聚集索引与非聚集索引的总结

作者: shoulda | 来源:发表于2018-05-14 15:33 被阅读0次

1.索引简介

众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。这篇文章会总结SQL Server以及MySQL的InnoDB和MyISAM两种SQL的索引。

SQL Sever索引类型有:唯一索引,主键索引,聚集索引,非聚集索引。

MySQL 索引类型有:唯一索引,主键(聚集)索引,非聚集索引,全文索引。

2.聚集索引

聚集(clustered)索引,也叫聚簇索引。

定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。
单单从定义来看是不是显得有点抽象,打个比方,一个表就像是我们以前用的新华字典,聚集索引就像是拼音目录,而每个字存放的页码就是我们的数据物理地址,我们如果要查询一个“哇”字,我们只需要查询“哇”字对应在新华字典拼音目录对应的页码,就可以查询到对应的“哇”字所在的位置,而拼音目录对应的A-Z的字顺序,和新华字典实际存储的字的顺序A-Z也是一样的,如果我们中文新出了一个字,拼音开头第一个是B,那么他插入的时候也要按照拼音目录顺序插入到A字的后面,现在用一个简单的示意图来大概说明一下在数据库中的样子:


TIM图片20180514152718.png

注:第一列的地址表示该行数据在磁盘中的物理地址,后面三列才是我们SQL里面用的表里的列,其中id是主键,建立了聚集索引。

结合上面的表格就可以理解这句话了吧:数据行的物理顺序与列值的顺序相同,如果我们查询id比较靠后的数据,那么这行数据的地址在磁盘中的物理地址也会比较靠后。而且由于物理排列方式与聚集索引的顺序相同,所以也就只能建立一个聚集索引了。

3.非聚集索引

非聚集(unclustered)索引。

定义:

该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同,一个表中可以拥有多个非聚集索引。
其实按照定义,除了聚集索引以外的索引都是非聚集索引,只是人们想细分一下非聚集索引,分成普通索引,唯一索引,全文索引。如果非要把非聚集索引类比成现实生活中的东西,那么非聚集索引就像新华字典的偏旁字典,他结构顺序与实际存放顺序不一定一致。
聚合索引的二次查询问题

非聚集索引叶节点仍然是索引节点,只是有一个指针指向对应的数据块,此如果使用非聚集索引查询,而查询列中包含了其他该索引没有覆盖的列,那么他还要进行第二次的查询,查询节点上对应的数据行的数据。

https://www.cnblogs.com/s-b-b/p/8334593.html

相关文章

  • 聚集索引与非聚集索引的总结

    1.索引简介 众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+...

  • 聚集索引与非聚集索引

    1、聚集索引 聚集索引决定数据在物理磁盘上的物理排序,一个表只能有一个聚集索引,如果定义了主键,那么InnoDB会...

  • 聚集索引与非聚集索引

    一.索引简介 众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+...

  • 聚集索引与非聚集索引

    1. 简介 数据库表主键 就是聚集索引,通过聚集索引,可以得到表的一整行数据;非聚集索引,是指数据库表的普通索引,...

  • sqlserver索引

    SQL中的索引分为两种,一种为聚集索引和非聚集索引,下面介绍两者的异同。 一、聚集索引与非聚集索引: 1、聚集索引...

  • 聚集索引非聚集索引

    sql的索引有B+树和Hash结构两种,聚集索引和非聚集索引都是采用B+树索引。 聚集索引 定义:数据行的物理顺序...

  • mysql索引专题考点总结

    聚集索引和非聚集索引的结构 [ 概念 ] 聚集索引, 非聚集索引, 回表 , 覆盖索引 索引用B+树存储, 假设索...

  • 聚集和非聚集索引

    转载: 聚集和非聚集索引 是什么?区别是? 聚集索引就是以主键创建的索引 非聚集索引就是以非主键创建的索引 区别:...

  • 避免回表与覆盖索引

    为什么要避免回表 mysql维护着两种索引树:聚集索引、非聚集索引。我们建立的索引都属于非聚集索引。通过非聚集索引...

  • 索引

    索引类型:聚集索引和非聚集索引 字典的字母索引是聚集索引,偏旁索引是非聚集索引。总的来说聚集索引是存在一个已有顺序...

网友评论

      本文标题:聚集索引与非聚集索引的总结

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