【Mysql系列】——详细剖析数据库“索引”【上篇】
创始人
2025-06-01 22:43:32
0

【Mysql系列】——详细剖析数据库中的核心知识【索引】😎

  • 前言🙌
    • 索引
      • 索引概述
      • 为什么需要索引?
      • 索引的优缺点
      • 索引结构
      • 索引的结构为什么不是二叉树和红黑树?
      • 索引的B+树结构
      • 索引的Hash结构
      • Hash结构索引的特点
      • 思考:为什么InnoDB存储引擎选择使用B+Tree索引结构呢?
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法,数据库等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【【Mysql系列】——详细剖析数据库“索引”【上篇】~都是精华内容,可不要错过哟!!!😍😍😍

索引

索引概述

   在数据之外,数据库系统还维护着满足查找算法的数据结构,这些数据结构以某种方式指向我们的数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。简单来说,索引是帮助Mysql高效获取数据的数据结构(有序)
说到数据结构,大家可能一想到B+树、红黑树、二叉树等等各种各样的树就感到头疼。
在这里插入图片描述
其实不用那么慌张,我们只需要了解其结构和一些基本性质就行了。

为什么需要索引?

前面我们已经提到了,索引是一种数据结构,它能够帮助数据库快速查询数据,这就是它的主要作用。当没有索引的时候,我们在查询数据时,就像下面这幅图一样进行全表扫描,这样效率是非常低下的。
在这里插入图片描述
通常来说,一般提到数据库的索引时,其数据结构都是B+树数据结构。下面这幅图是一个大概展示了索引查找数据的画面,并非真正的B+树。
在这里插入图片描述

索引的优缺点

优势劣势
提高数据检查的效率,降低数据库的IO成本索引也是要占用空间的
通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行的 insert、update、delete时,效率降低。
  • 但是,现在的磁盘是很便宜的,所以索引占空间的问题就没有那么重要了。
  • 其实在一个正常的业务中,进行增删改的操作远小于查询操作。所以索引的第二个不足也影响不大。
  • 根据场景需求和业务需求选择是否使用索引。

索引结构

前面的博客已经提到过,索引是在存储引擎层实现的不同的存储引擎有着不同的结构,主要包括一下几种:
在这里插入图片描述
默认索引都是B+树,面试的时候一般没有说明也是B+树索引结构
在这里插入图片描述

索引的结构为什么不是二叉树和红黑树?

在这里插入图片描述

索引的B+树结构

在这里插入图片描述

在这里插入图片描述
上面都是数据结构中的B+数结构,而在Mysql中,是对其进行优化的。在原B+Tree的基础上,增加了一个指向相邻叶子结点的链表指针,就形成了带有顺序指针的B+Tree,提高区间访问性能
在这里插入图片描述

索引的Hash结构

哈希表就是采用一定的Hash算法,将键值换算成新的hash值,映射到对应的槽位上,然后存储在hash表中。如果两个或者多个键值,映射到一个相同的槽位上,他们就产生了hash冲突(也称为是hash碰撞),可以通过链表来解决这个问题。
在这里插入图片描述

Hash结构索引的特点

  1. Hash索引只能用于对等比较( = , in),不支持范围查询(between,>,<,…)
  2. 无法利用索引完成排序操作。我们可以看到,数据在hash表中的存储是无序的。
  3. 查询效率高,通常只需要一次检索就可以了,效率通常要高于B+Tree索引。这里之所以说是通常而不是一定,是因为在可能会发生hash冲突

注意:在Mysql中,支持hash索引的是Memory引擎,而INnoDB中具有自适应的hash功能,hash索引是存储引擎根据B+Tree索引在指定条件下自动构建的。

思考:为什么InnoDB存储引擎选择使用B+Tree索引结构呢?

理由有以下几点:

  • 相对于二叉树,层级更少,搜索效率更高;
  • 对于B-树,无论是叶子结点还是非叶子节点,都会保存数据,这样导致了一页中存储的键值减少,指针跟着减少(键值key 的个数比指针数少1),要同样保存大量的数据,只能增加树的高度,导致性能的降低;
  • 相对于Hash索引,B+Tree支持范围匹配和排序操作的。而Hash索引不能。

总结撒花💞

   本篇文章旨在分享【Mysql系列】——详细剖析数据库“索引”【上篇】。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

相关内容

热门资讯

监管出手,戳破千亿外卖大战的泡... 文 | 一刻商业,作者 | 燕辞格,编辑 | 以安 史无前例的数字正诞生在外卖行业,但对行业的冲击...
和讯投顾高璐明:放量上攻!向上... 超过3500只个股上涨,三大指数集体放量上攻,市场向上变盘了吗?我们当下到底应该怎么办?和讯投顾高璐...
财务造假长达6年,多名高管被追... 记者丨崔文静 实习生 张长荣 编辑丨黄剑 2023年以来,金通灵财务造假案备受市场关注。继2024年...
券商回购潮显效!红塔证券1-2... 券商股回购阵营再添新军。7月17日,《红塔证券关于以集中竞价方式回购股份的方案》引起投资人关注,公司...
武汉贷款公司急用钱最新实战融资... 信用优化实战技巧 当我们真的急用钱,在武汉寻找靠谱的贷款公司时,一个漂亮的信用报告绝对是我们的超级加...
超大规模市场体量更大(权威发布... 数据来源:商务部 国务院新闻办7月18日举行“高质量完成‘十四五’规划”系列主题新闻发布会,介绍“十...
成都温江“玩啤消夏·2025温... 7月18日,“玩啤消夏·2025温江啤酒美食季暨温江第四届青岛啤酒节”在成都市温江光华公园下穿隧道上...
著名相声演员杨少华遗产4个亿?... 极目新闻记者 付瞰 著名相声演员杨少华7月9日去世,享年94岁。7月18日,有媒体报道称,杨少华的儿...
摩根大通拓展非上市企业研究,首... 摩根大通正将其研究版图扩展至非上市企业领域,以抢占高增长赛道的先发优势。据知情人士透露,该行全球研究...
第一、第二、前三……蓄势赋能!... 央视网消息:国务院新闻办公室7月18日举行“高质量完成‘十四五’规划”系列主题新闻发布会,商务部相关...
雨一直下,酒一直喝!昨夜松江啤... 昨晚,伴随着一场倾盆大雨,“上海之夏”国际消费季松江活动正式拉开帷幕。作为系列活动的标杆活动——上海...
学会储蓄,坐收“渔”利 真正的财富秘密,往往藏在那些看似不起眼的‘小钱’里。就像渔民养鱼,每天投点饲料,耐心等待,终有一天能...
原创 中... 轰隆!三百多块手机屏幕大小的特种合金钢板,在这台庞然大物的怀抱中被瞬间“揉捏”成型,高温下金属变形的...
京东外卖推出一站式政企用餐解决... 上证报中国证券网讯(记者 刘暄)上海证券报记者7月18日从京东获悉,为满足员工多元化用餐需求,京东外...
四闯IPO终获港股备案,八马茶... 八马茶业股份有限公司(以下简称“八马茶业”)的资本化之路迎来关键节点。7月17日,中国证监会向其发放...
三部加密货币法案获美国众议院通... 美国首部稳定币立法《GENIUS 法案》此前已在参议院通过,如获得特朗普签字批准,将成为一项重要的加...
原创 巴... 一场关乎全球航运格局的博弈正在巴拿马运河上演。价值228亿美元的巴拿马港口交易,因中国坚决要求中远海...
中国资产大爆发!多股大涨10% 中国资产再大涨! 北京时间7月18日晚间,美股开盘后,中国资产集体爆发,纳斯达克中国金龙指数直线拉升...
原创 我... 当美国总统特朗普挥舞关税大棒时,他可能没想到,第一个被砸得粉碎的不是中国、欧盟或墨西哥,而是一个人口...
观察|临港前沿产业快速发展背后... 2023年6月,临港新片区设立“上海金融租赁服务集成电路产业实验室”,支持交银金租、招银金租、浦银金...