爱美容
当前位置: 首页 美容百科

分形树索引(B树索引4)

时间:2023-07-08 作者: 小编 阅读量: 1 栏目名: 美容百科

存储业务数据的数据页之间按照主键的大小排序,并且形成双向链表。B树的叶子节点存储完整的业务记录。记录排序和数据页排序都采用c2列排序,不再采用主键值排序。查询过程也会所有调整,例如需要查询c2列为7的值,步骤如下从根节点出发,定位到目录项数据页在页8。也就是说如果想通过二级索引查询完整用户记录,需要查询两个B树,需要回表操作,为什么这样设计呢?显然是节省内存空间。

B 树索引(4)之索引分类前言回顾

在前面的文章中我们可以简单推导出索引的形成过程,具体内容详情可以参考

演示表的基本结构如下所示

mysql> CREATE TABLE index_test(->c1 INT,->c2 INT,->c3 CHAR(1),->PRIMARY KEY(c1)-> ) ROW_FORMAT = Compact;Query OK, 0 rows affected (0.01 sec)

根据演示表得出主键索引的简单结构如下所示

整个主键索引或者说B 树由数据页构成,当然数据页中采用记录头属性record_type区分了是业务记录还是目录项记录,0为业务记录,1为目录项记录。了解完这些我们就可以来聊聊索引的类型。

聚簇索引

聚簇索引的特性一般是两个

  • 使用记录主键值的大小进行记录和页的排序,这里面有三重含义
    • 数据页中的记录与记录之间根据主键大小排序,并且形成单向链表。
    • 存储业务数据的数据页之间按照主键的大小排序,并且形成双向链表。
    • 存储目录项记录的数据页按照同样按照目录项记录主键大小顺序形成双向链表。
  • B 树的叶子节点存储完整的业务记录(指包含该记录的所有列,包括隐藏列)。

我们将具有这种特性的B 树称为聚簇索引,这种索引不需要人为指定创建,InnoDB存储引擎会自动创建,而且在InnoDB存储引擎中,聚簇索引就是数据的存储方式,因为所有的数据都存储在B 树的叶子节点中,聚簇索引最明显的例子就是上图,完全符合。

二级索引

二级索引也可以被称为普通索引,很明显就是给非主键值加索引,例如给演示表index_test的非主键列c2加索引,那么索引结构应该如下所示

二级索引和聚簇索引有很大的区别,主要有如下三点

  • 二级索引的索引树叶子节点,只保存c2列的值和主键值c1值的,不再保存完整记录。
  • 记录排序和数据页排序都采用c2列排序,不再采用主键值排序。
  • 目录项数据页存储的是c2列的值和页号,不再是主键值和页号。

查询过程也会所有调整,例如需要查询c2列为7的值,步骤如下

  • 从根节点出发,定位到目录项数据页在页8(2 <= 7 <= 23)。
  • 根据页8确定用户数据在页6( 2 <= 7 <= 7)。
  • 定位到数据页后通过二分法才能定位到c2列为7的记录,但是这里仅仅能得到c1列的值和c2列的值,想要得到这条记录的其它值,还需要根据主键值c1的值再去聚簇索引中查询得到完整用户记录,这个过程称之为回表

也就是说如果想通过二级索引查询完整用户记录,需要查询两个B 树,需要回表操作,为什么这样设计呢?显然是节省内存空间。

联合索引

联合索引顾名思义就是同时以多列的大小进行排序,其本质也是一个二级索引,如给index_test表的c2,c3列同时建立索引,先按照c2列值排序,如果c2列值相同再按照c3列排序,所以在用户记录数据页中将存在三个值分别为c2列值,c3列值和主键c1列值,结构图如下

请注意这里因为组合索引包含了c2、c3列值,而记录中也会包含主键值,这里查询将不再需要回表的操作,但这并不能证明组合索引不需要回表操作。

    推荐阅读
  • 怎么样让眼睛变大的最有效的方法(5种方法让你的眼睛变大)

    使用时先轻刷一层睫毛膏,趁睫毛膏尚未干掉时,将增长纤维的刷头转出,并将刷头上的白色细致纤维轻轻以滚动方式附着每根睫毛的尖端部位。再重复刷上黑头睫毛膏,电眼效果max。

  • 双减带给老师的挑战和机遇(双减之后教师面临的)

    7月24日,中共中央办公厅、国务院办公厅印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》。面对教师陡然增加的负担,教育部相关负责人回应,将继续督促指导各地将教师减负工作同优化教师资源配置、深化教育教学改革等有机结合起来,健全教师减负长效机制,推动教师减负工作取得实效。“双减”政策明确提出,要构建教育良好生态,有效缓解家长焦虑情绪,促进学生全面发展、健康成长。

  • 我的世界橡胶甘蔗怎么杂交 我的世界粘性甘蔗种子

    杂交前需要合成作物架,用4个木棍合成,摆放成左右两列,合成2个作物架,由于杂交的几率比较低,所以需要准备多点作物架。拿着作物架在,每两个种了甘蔗的耕地的中间,放上两个作物架,作物架成十字交叉,代表此时在进行杂交。进行一段长时间的等待,等待甘蔗长大,等待杂交成功,注意杂交的地方很容易长杂草,如果长了杂草请尽快打掉,否则整个耕地都会蔓延杂草,需要重新杂交。

  • 娃哈哈新媒体营销策划(第13届娃哈哈营销策划大赛重磅来袭)

    为了丰富大学生的课余生活,引导和培养大学生创新精神和实践能力,4月23日18时30分,第十三届娃哈哈全国大学生营销策划大赛启动仪式于南宁职业技术学院大礼堂顺利举行。娃哈哈营销大赛为大学生提供了一个广阔的实践平台,推动教育与实践相结合,使同学们的创新意识得到激发。在此预祝娃哈哈营销策划大赛取得圆满成功,也祝本次参赛的团队都能够在比赛中取得佳绩!

  • 狮鹫怎么驯服(方舟生存进化手游狮鹫驯服技巧攻略)

    接下来我们就一起去研究一下吧!狮鹫怎么驯服方舟生存进化中狮鹫是高傲的守护兽,想要驯服狮鹫并不容易,必须获得狮鹫的尊重,这并不算容易的事,下面就来介绍一下怎么驯服狮鹫的方法吧。第一种方法:人物等级85级以上,并且不是可以获得全部尊重的!比如85级的,可能只能获取低等级狮鹫的尊重!

  • tabata间歇性训练的方法(什么是Tabata锻炼)

    各种研究得出结论,Tabata锻炼对健康有很多好处。有时您可能会达到最大强度,这可能会因肌肉松懈而导致受伤每周最多进行3-4次Tabata训练。Tabata锻炼以多种方式改善健康。此外,心脏病患者在开始Tabata锻炼之前还应听取医生的建议。在没有科学证据的情况下,对原始Tabata版本的修改可能弊大于利。人们可能会选择Tabata只是为了减肥,这不是它的实际用途。与传统HIIT相比,Tabata的强度水平更高,恢复时间更短。

  • s10和s9有什么区别(s10和s9有什么区别瑞思迈)

    vivoS9电池容量4000mAh,配置33W闪充。vivo官方宣布vivoS10系列于2021年7月15日正式发布,该手机代言人有Lisa、蔡徐坤、刘昊然。2021年7月15日,vivo召开了S10系列发布会,会上发布了新一代自拍旗舰vivoS10系列,其vivoS10系列依然采用了前置4400万像素AF双摄设计,仍然支持105度超广角,还有前置微缝式双柔光灯。

  • 专业版微博怎么设置(其实很简单)

    接下来我们就一起去了解一下吧!专业版微博怎么设置需要认证过才能成为专业版。专业版微博是为企业和机构定制的微博。新浪微博企业版是我们为企业、机构用户量身打造的服务平台。它具有更丰富的个性化页面展示功能设置,更精准的数据分析服务,以及更高效的沟通管理后台。我们期待新浪微博企业版能够帮助企业更便捷地与目标用户进行互动沟通,提升营销效果转化,挖掘更多商业机会。

  • 变速箱油到底多久换一次呢(变速箱油多久更换一次)

    如果需要更换变速箱油,查看用户的保养手册上如果有明确的更换周期,按照规定换油。如果变速箱油是终身免维护的,也一样要引起重视,终身免维护并不意味着变速箱油一直不用换。其实变速箱油不像机油那么黑,相比于机油甚至更为干净一点。所以车主千万不要忽略变速箱油,如果过长时间不更换,也会对变速箱造成一定的损伤,而且一些汽车的变速箱比发动机还要昂贵,修一次可能得要好几万元。

  • 恐惧症会遗传吗 幽闭恐惧症会遗传吗

    恐惧症是发病率非常高的一种心理疾病,而有许多患者并没有得到有效的治疗。导致恐惧症的因素恐惧症是各种因素的共同作用。恐惧症的典型症状是恐怖发作,并伴有强烈的生理反应。尽管患者知道这种恐惧是不合理的,但是没法控制。研究表明,在100名患者中40名患者可以彻底治疗,基本上没有什么后遗症。所以一定要及早治疗,效果好,造成的危害也小。