精华内容
下载资源
问答
  • 聚集索引 聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后...

    聚集索引

    聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引
    也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。

    这里写图片描述

    比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而用‘偏旁部首’查汉字,就是非聚集索引,因为正文中的字并不是按照偏旁部首排序的,我们通过检字表得到正文中的字在索引中的映射,然后通过映射找到所需要的字。

    聚集索引的使用场合为:
      a.查询命令的回传结果是以该字段为排序依据的;
      b.查询的结果返回一个区间的值;
      c.查询的结果返回某值相同的大量结果集。
    聚集索引会降低 insert,和update操作的性能,所以,是否使用聚集索引要全面衡量。


    非聚集索引

    非聚集索引: 索引顺序与物理存储顺序不同

    这里写图片描述
    非聚集索引的使用场合为:
      a.查询所获数据量较少时;
      b.某字段中的数据的唯一性比较高时;

    非聚集索引必须是稠密索引


    聚簇索引

    聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语“聚族”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时把数据行放在两个不同的地方,所以一个表只能有一个聚族索引。
    这里写图片描述

    聚族索引的优点
    可以把相关数据保存在一起。就好像在操场上战队,一个院系一个院系的站在一起,这样要找到一个人,就先找到他的院系,然后在他的院系里找到他就行了,而不是把学校里的所有人都遍历一遍

    数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快


    稠密索引

    稠密索引:每个索引键值都对应有一个索引项

    这里写图片描述

    稠密索引能够比稀疏索引更快的定位一条记录。但是,稀疏索引相比于稠密索引的优点是:它所占空间更小,且插入和删除时的维护开销也小。


    稀疏索引

    稀疏索引:相对于稠密索引,稀疏索引只为某些搜索码值建立索引记录;在搜索时,找到其最大的搜索码值小于或等于所查找记录的搜索码值的索引项,然后从该记录开始向后顺序查询直到找到为止。
    这里写图片描述

    展开全文
  • 聚集索引聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后...

    聚集索引

    聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引
    也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。

    这里写图片描述

    比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而用‘偏旁部首’查汉字,就是非聚集索引,因为正文中的字并不是按照偏旁部首排序的,我们通过检字表得到正文中的字在索引中的映射,然后通过映射找到所需要的字。

    聚集索引的使用场合为:
      a.查询命令的回传结果是以该字段为排序依据的;
      b.查询的结果返回一个区间的值;
      c.查询的结果返回某值相同的大量结果集。
    聚集索引会降低 insert,和update操作的性能,所以,是否使用聚集索引要全面衡量。


    非聚集索引

    非聚集索引: 索引顺序与物理存储顺序不同

    这里写图片描述
    非聚集索引的使用场合为:
      a.查询所获数据量较少时;
      b.某字段中的数据的唯一性比较高时;

    非聚集索引必须是稠密索引


    聚簇索引

    聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语“聚族”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时把数据行放在两个不同的地方,所以一个表只能有一个聚族索引。
    这里写图片描述

    聚族索引的优点
    可以把相关数据保存在一起。就好像在操场上战队,一个院系一个院系的站在一起,这样要找到一个人,就先找到他的院系,然后在他的院系里找到他就行了,而不是把学校里的所有人都遍历一遍

    数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快


    稠密索引

    稠密索引:每个索引键值都对应有一个索引项

    这里写图片描述

    稠密索引能够比稀疏索引更快的定位一条记录。但是,稀疏索引相比于稠密索引的优点是:它所占空间更小,且插入和删除时的维护开销也小。


    稀疏索引

    稀疏索引:相对于稠密索引,稀疏索引只为某些搜索码值建立索引记录;在搜索时,找到其最大的搜索码值小于或等于所查找记录的搜索码值的索引项,然后从该记录开始向后顺序查询直到找到为止。
    这里写图片描述

    展开全文
  • 聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到...

    目录

     

    首先介绍这些索引的概念:

    接着结合mysql进行讲解:


    首先介绍这些索引的概念:

    1、聚集索引

    聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 

    也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。

    比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而用‘偏旁部首’查汉字,就是非聚集索引,因为正文中的字并不是按照偏旁部首排序的,我们通过检字表得到正文中的字在索引中的映射,然后通过映射找到所需要的字。

    聚集索引的使用场合为: 

      a.查询命令的回传结果是以该字段为排序依据的; 

      b.查询的结果返回一个区间的值; 

      c.查询的结果返回某值相同的大量结果集。 

    聚集索引会降低 insert,和update操作的性能,所以,是否使用聚集索引要全面衡量。 

    2、非聚集索引: 索引顺序与物理存储顺序不同

    非聚集索引的使用场合为: 

      a.查询所获数据量较少时; 

      b.某字段中的数据的唯一性比较高时;

    非聚集索引必须是稠密索引

    3、聚簇索引

    聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语“聚族”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时把数据行放在两个不同的地方,所以一个表只能有一个聚族索引。 

    聚族索引的优点 

    可以把相关数据保存在一起。就好像在操场上战队,一个院系一个院系的站在一起,这样要找到一个人,就先找到他的院系,然后在他的院系里找到他就行了,而不是把学校里的所有人都遍历一遍

    数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快

    4、稠密索引

    稠密索引:每个索引键值都对应有一个索引项

    稠密索引能够比稀疏索引更快的定位一条记录。但是,稀疏索引相比于稠密索引的优点是:它所占空间更小,且插入和删除时的维护开销也小。


    5、稀疏索引

    稀疏索引:相对于稠密索引,稀疏索引只为某些搜索码值建立索引记录;在搜索时,找到其最大的搜索码值小于或等于所查找记录的搜索码值的索引项,然后从该记录开始向后顺序查询直到找到为止。 

     

    接着结合mysql进行讲解:

    mysql的两种数据存储方式,一种是InnoDB,一种是MyISAM。这两种存储都是基于B+树的存储方式,但是也有点不同。

    MyIsam 索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。主索引和辅助索引没有区别都是非聚集索引。索引页正常大小为1024字节,索引页存放在.MYI 文件中。MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。

    InnoDB 也使用B+Tree作为索引结构,索引页大小16,和表数据页共同存放在表空间中。从InnoDB表数据存放方式可看出InnoDB表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。

    InnoDB默认对主键建立聚簇索引。如果你不指定主键,InnoDB会用一个具有唯一且非空值的索引来代替。如果不存在这样的索引,InnoDB会定义一个隐藏的主键,然后对其建立聚簇索引。一般来说,InnoDB 会以聚簇索引的形式来存储实际的数据,它是其它二级索引的基础。

    所以mysql innodb引擎的聚集索引、聚簇索引都默认是主键索引,如果没有指定主键,就是一个具有唯一且非空值的索引,如果不存在这样的索引,就是InnoDB自定义的隐藏主键索引,并且该索引是稠密索引。

    展开全文
  • 聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引  也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储...

    转自:http://blog.csdn.net/douunderstand/article/details/70215061


    1、聚集索引

    聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 
    也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式,所以一个表只能有一个聚集索引。

    这里写图片描述

    比如字典中,用‘拼音’查汉字,就是聚集索引。因为正文中字都是按照拼音排序的。而用‘偏旁部首’查汉字,就是非聚集索引,因为正文中的字并不是按照偏旁部首排序的,我们通过检字表得到正文中的字在索引中的映射,然后通过映射找到所需要的字。

    聚集索引的使用场合为: 
      a.查询命令的回传结果是以该字段为排序依据的; 
      b.查询的结果返回一个区间的值; 
      c.查询的结果返回某值相同的大量结果集。 
    聚集索引会降低 insert,和update操作的性能,所以,是否使用聚集索引要全面衡量。 




    2、非聚集索引: 索引顺序与物理存储顺序不同

    这里写图片描述
    非聚集索引的使用场合为: 
      a.查询所获数据量较少时; 
      b.某字段中的数据的唯一性比较高时;

    非聚集索引必须是稠密索引



    3、聚簇索引

    聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语“聚族”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时把数据行放在两个不同的地方,所以一个表只能有一个聚族索引。 
    这里写图片描述

    聚族索引的优点 
    可以把相关数据保存在一起。就好像在操场上战队,一个院系一个院系的站在一起,这样要找到一个人,就先找到他的院系,然后在他的院系里找到他就行了,而不是把学校里的所有人都遍历一遍

    数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快



    4、稠密索引

    稠密索引:每个索引键值都对应有一个索引项

    这里写图片描述

    稠密索引能够比稀疏索引更快的定位一条记录。但是,稀疏索引相比于稠密索引的优点是:它所占空间更小,且插入和删除时的维护开销也小。


    稀疏索引

    稀疏索引:相对于稠密索引,稀疏索引只为某些搜索码值建立索引记录;在搜索时,找到其最大的搜索码值小于或等于所查找记录的搜索码值的索引项,然后从该记录开始向后顺序查询直到找到为止。 
    这里写图片描述


    展开全文
  • 数据库索引之稠密索引和稀疏索引

    千次阅读 2017-09-18 17:13:33
    (搜索码:用于在文件中查找记录的属性或属性集) 稠密索引: 如果记录是排好序的,我们就可以在记录上建立稠密索引。如上图所示:在稠密索引中文件中的每个搜索码值都对应一个...同理因为稀疏索引也是聚集索引。
  • 参考文章:密集索引和稀疏索引的区别 区别 秘籍索引文件中的每个搜索码值都对应一个索引值 稀疏索引文件只为索引码的某些值建立索引项 密集索引的定义:叶子节点保存的不只是键值,还保存了位于同一行记录里...
  • 稀疏索引与稠密索引

    千次阅读 2017-03-30 09:52:53
    在谈这两个索引之前,我们要明白为什么要使用索引,当内存容纳不下记录本身大小,我们存储较小的索引,...稠密索引和稀疏索引都属于聚集索引。 1. 稠密索引 定义:它由键值和指针(指向记录本身地址)组成的一系列存
  • 当时就懵了,聚集索引,非聚集索引,主键索引,覆盖索引等等,我也没听过什么是稀疏索引。我反问了一下 面试官这个索引类型是mysql新出的吗,我不太了解也没有怎么用过,面试官模糊的给我回答了一下:一个占用空间小...
  • 稀疏索引:文件只为索引码的某些值建立索引项, 比如 innodb的其他索引只存了键位信息和主键, myisam的所有索引都是 聚簇索引: 表数据按顺序存储,即索引顺序和表记录物理存储顺序一致。 聚簇索引 叶子节点...
  • 1. 稀疏索引和稠密索引 稀疏索引稀疏索引中,不会为每个搜索关键字创建索引记录。此处的索引记录包含搜索键和指向磁盘上数据的实际指针。要搜索记录,我们首先按索引记录进行操作,然后到达数据的实际位置。...
  • 索引的数据结构 b-tree b+ -tree 为什么b+ -tree更适合用于建立索引 磁盘读写代价更低(非叶子节点不存储关键字信息,只存放指针,这样每...密集索引和稀疏索引 密集索引文件中每个文件的搜索码都对应一个索引值 稀
  • 密集索引和稀疏索引的区别? 密集索引文件中的每个搜索码值都对应一个索引值。密集索引的叶子结点保存的不仅是键值,还保存了位于同一行记录里的其他列的信息。由于密集索引决定了表的物理排列顺序,一个表只能有一...
  • 索引(一):顺序索引(稠密索引,稀疏索引和B+树索引) (2014-12-09 18:43:00)转载▼ <table>
  • 密集索引和稀疏索引: 聚簇索引:表数据文件本身就是按B+Tree组织的一个索引结构(它的物理存放顺序和逻辑顺序一一对应),这棵树的叶节点data域就是数据页,因此保存了完整的数据记录。innodb主键索引是是用聚簇索...
  • 每个InnoDB表具有一个特殊的索引称为聚簇索引(也叫聚集索引,聚类索引,簇集索引)。 如果表上定义有主键,该主键索引就是聚簇索引。如果未定义主键,MySQL取第一个唯一索引(unique)而且只含非空列(NOT NULL)...
  • 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理...由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
  • MySQL聚集索引和非聚集索引 聚集索引 概念理解 聚集索引中键值的逻辑顺序决定了数据表的物理顺序,即聚集索引的键值对的顺序与数据表中数据的顺序是一致的。所以每一张数据表,只能有一个聚集索引。 一般来说MySQL中...
  • B+树,聚集索引,非聚集索引(辅助索引) 之一 B+树,由二叉树和双向链表引申出来的一种数据结构。 通常数据库的索引是通过B+树来实现的。聚集索引和非聚集索引都是B+树的结构。聚集索引不但描述了数据是如何...
  • 引子:深入浅出理解索引结构  SQL SERVER提供了两种索引聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclus...
  • (http://www.builder.com.cn/2008/0211/733054.shtml) 基础知识(4)不论是 聚集...不论是 聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先了解B+树。如果你对B树不了解的话,建
  • 微软的SQL SERVER提供了两种索引聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)…… (一)深入浅出理解索引结构 实际上,您可以把索引理解为一...
  • 聚集和非聚集索引

    2019-07-21 17:46:00
    聚集和非聚集索引 简单概括: 聚集索引就是以主键创建的索引聚集索引就是以非主键创建的索引 区别: 聚集索引在叶子节点存储的是表中的数据 非聚集索引在叶子节点存储的是主键和索引列 使用非聚集...
  • 不论是 聚集索引,还是非聚集索引,都是用 B+树来实现的。我们在了解这两种索引之前,需要先了解B+树。如果你对B树不了解的话,建议参看以下几篇文章: BTree,B-Tree,B+Tree,B*Tree都是什么 http:
  • 聚集索引    在创建聚集索引时,将会对表进行复制,对表中的数据进行排序,然后删除原始的表。因此,数据库上必须有足够的空闲空间,以容纳数据复本。默认情况下,表中的数据在创建索引时排序。但是,如果因...
  • 聚集索引

    2016-07-25 17:32:00
    转自:mysql索引聚集索引 聚集索引不是一种单独的索引类型,而是一种存储数据方式。其具体细节依赖于实现方式,但是InnoDB的聚集索引实际上在同样的结构中保存了B-Tree索引和数据行。 当表有聚集索引的时候,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,448
精华内容 1,779
关键字:

聚集稀疏索引