93.Mysql为啥使用B+索引,一棵B+树能存多少数据?

文章目录

前言

Mysql现在是大多数互联网公司的首选关系型数据库,很多开发人员经常用,但是可能面试的时候问到为啥使用B+索引,和一棵树能存放多少数据问题的时候不太能答上来,本篇来进行个通俗易懂的普及,希望能帮助到使用mysql的程序员员们。

1.Mysql为啥使用B+树:

像上面说的,mysql使用的很广泛,所以其性能很重要,底层的存储引擎和数据检索引擎就显的比较重要。

1.1 hash表和二叉树、红黑树、AVL树:

1.2 B树和B+树:

2.一棵B+树能存多少数据:

针对InnoDB引擎来说,一个节点页大小为16KB,上面说的叶子节点只存放数据,那么一页存放1kb的一行数据(基本上一行就是1kb左右),为16。非叶子节点存放的是索引和指针,索引大小按照bigint8字节计算,指针是6字节,总共14b。那么非叶子节点一页存放的数据就是161024/14约1170个,如果树高是2层的话:117016约18724条数据。
如果三层树高的话:1170
117016约2千万的数据而每次查询只需要查3次,这样的结果让B+树完美胜出Mysql的底层数据索引结构。

总结

上面也是我参考很多的文章形成自己的总结性的语言给大家进行介绍Mysql使用B+树和B+树存放数据的介绍,总的感觉来说讲的比较的通俗易懂,理解起来应该比较容易,希望能帮助到正在使用Mysql的朋友们,欢迎关注公众号:Java时间屋 进行留言交流。

展开阅读全文

页面更新:2024-06-01

标签:索引   数据   复杂度   数据结构   节点   易懂   指针   底层   磁盘   叶子   缺点   效率   次数   引擎   时间   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top