加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

终于有篇看的懂的B树文章了!

发布时间:2019-11-27 15:30:17 所属栏目:编程 来源:站长网
导读:副问题#e# 索引,信托大大都人已经相等认识了,许多人都知道 MySQL 的索引首要以 B+ 树为主,可是要问到为什么用 B+ 树,生怕很少有人能把前因效果报告完备。本文就来从新到尾先容下数据库的索引。 图片来自 Pexels 索引是一种数据布局,用于辅佐我们在大量

终于有篇看的懂的B树文章了!

操作非聚积索引查找数据

终于有篇看的懂的B树文章了!

读者看到这张图的时辰也许会蒙,这是啥对象啊?怎么都是数字。假若有这种感受,请细心看下图中红字的表明。

什么?还看不懂?那我再来表明下吧。起首,这个非聚积索引暗示的是用户荣幸数字的索引(为什么是荣幸数字?一时鼓起想起来的:-)),此时表布局是这样的。

终于有篇看的懂的B树文章了!

在叶子节点中,不再存储全部的数据了,存储的是键值和主键。对付叶子节点中的 x-y,好比 1-1。左边的 1 暗示的是索引的键值,右边的 1 暗示的是主键值。

假如我们要找到荣幸数字为 33 的用户信息,对应的 sql 语句为:

select * from user where luckNum=33 

查找的流程跟聚积索引一样,这里就不具体先容了。我们最终会找到主键值 47,找到主键后我们必要再到聚积索引中查找详细对应的数据信息,此时又回到了聚积索引的查找流程。

下面看下详细的查找流程图:

终于有篇看的懂的B树文章了!

在 MyISAM 中,聚积索引和非聚积索引的叶子节点城市存储数据的文件地点。

总结

本篇文章从二叉查找树,具体声名白为什么 MySQL 用 B+ 树作为数据的索引,以及在 InnoDB 中数据库怎样通过 B+ 树索引来存储数据以及查找数据。

我们必然要记着这句话:数据即索引,索引即数据。

参考资料:

《MySQL 必知必会》

《MySQL 技能黑幕 InnoDB 存储引擎第2版》

https://www.cnblogs.com/vianzhang/p/7922426.html

终于有篇看的懂的B树文章了!

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读