设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2019-11-27 12:26 所属栏目:115 来源:站长网
导读:利用非聚集索引查找数据 读者看到这张图的时候可能会蒙,这是啥东西啊?怎么都是数字。如果有这种感觉,请仔细看下图中红字的解释。 什么?还看不懂?那我再来解释下吧。首先,这个非聚集索引表示的是用户幸运数字的索

终于有篇看的懂的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树文章了!

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读