为什么MySQL索引底层普遍采用B树结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1940个文字,预计阅读时间需要8分钟。
面试官微笑着迎接你,你身着正式的西装,领带优雅地系在衬衫领口。这位中年男子步伐稳健,气质不凡。你手持保温杯,里面泡着绿茶,胳膊肘上放着MacBook,屏幕上还亮着我爱加班的标语。面试正式开始,你直接进入正题。
迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。
手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。
面试开始,直入正题。
面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树?
我: 这事谁知道作者咋想的?他可能是用B+树习惯了,个人爱好吧。
面试官: 你倒是挺看得开。今天的面试就先到这吧,后面有消息会主动联系你。
后面还可能有消息吗?你们啥时候主动联系过我?
实话实说的被拒,八股文背得溜反而被录取。
好吧,等我看看一灯怎么总结的MySQL的八股文。
我: 要知道MySQL索引底层数据结构为啥用B+树,先要了解一下什么样的数据结构更适合建索引。
为了保证数据安全性,一般都是把数据存储在磁盘里面。当我们需要查询数据的时候,需要读取磁盘,就产生了磁盘IO,相比较内存操作,磁盘IO读取速度是非常慢的。
由于所需数据可能在磁盘并不是连续的,一次数据查询就需要多次磁盘IO,所以就需要我们设计的索引数据结构尽可能的减少磁盘IO次数。
本文共计1940个文字,预计阅读时间需要8分钟。
面试官微笑着迎接你,你身着正式的西装,领带优雅地系在衬衫领口。这位中年男子步伐稳健,气质不凡。你手持保温杯,里面泡着绿茶,胳膊肘上放着MacBook,屏幕上还亮着我爱加班的标语。面试正式开始,你直接进入正题。
迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。
手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。
面试开始,直入正题。
面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树?
我: 这事谁知道作者咋想的?他可能是用B+树习惯了,个人爱好吧。
面试官: 你倒是挺看得开。今天的面试就先到这吧,后面有消息会主动联系你。
后面还可能有消息吗?你们啥时候主动联系过我?
实话实说的被拒,八股文背得溜反而被录取。
好吧,等我看看一灯怎么总结的MySQL的八股文。
我: 要知道MySQL索引底层数据结构为啥用B+树,先要了解一下什么样的数据结构更适合建索引。
为了保证数据安全性,一般都是把数据存储在磁盘里面。当我们需要查询数据的时候,需要读取磁盘,就产生了磁盘IO,相比较内存操作,磁盘IO读取速度是非常慢的。
由于所需数据可能在磁盘并不是连续的,一次数据查询就需要多次磁盘IO,所以就需要我们设计的索引数据结构尽可能的减少磁盘IO次数。

