为什么MySQL索引底层普遍采用B树结构?

2026-04-18 03:110阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1940个文字,预计阅读时间需要8分钟。

为什么MySQL索引底层普遍采用B树结构?

面试官微笑着迎接你,你身着正式的西装,领带优雅地系在衬衫领口。这位中年男子步伐稳健,气质不凡。你手持保温杯,里面泡着绿茶,胳膊肘上放着MacBook,屏幕上还亮着我爱加班的标语。面试正式开始,你直接进入正题。

迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。
手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。

面试开始,直入正题。

面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树?

我: 这事谁知道作者咋想的?他可能是用B+树习惯了,个人爱好吧。

面试官: 你倒是挺看得开。今天的面试就先到这吧,后面有消息会主动联系你。

后面还可能有消息吗?你们啥时候主动联系过我?
实话实说的被拒,八股文背得溜反而被录取。
好吧,等我看看一灯怎么总结的MySQL的八股文。

我: 要知道MySQL索引底层数据结构为啥用B+树,先要了解一下什么样的数据结构更适合建索引。

为了保证数据安全性,一般都是把数据存储在磁盘里面。当我们需要查询数据的时候,需要读取磁盘,就产生了磁盘IO,相比较内存操作,磁盘IO读取速度是非常慢的。

由于所需数据可能在磁盘并不是连续的,一次数据查询就需要多次磁盘IO,所以就需要我们设计的索引数据结构尽可能的减少磁盘IO次数。

阅读全文

本文共计1940个文字,预计阅读时间需要8分钟。

为什么MySQL索引底层普遍采用B树结构?

面试官微笑着迎接你,你身着正式的西装,领带优雅地系在衬衫领口。这位中年男子步伐稳健,气质不凡。你手持保温杯,里面泡着绿茶,胳膊肘上放着MacBook,屏幕上还亮着我爱加班的标语。面试正式开始,你直接进入正题。

迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。
手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。

面试开始,直入正题。

面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树?

我: 这事谁知道作者咋想的?他可能是用B+树习惯了,个人爱好吧。

面试官: 你倒是挺看得开。今天的面试就先到这吧,后面有消息会主动联系你。

后面还可能有消息吗?你们啥时候主动联系过我?
实话实说的被拒,八股文背得溜反而被录取。
好吧,等我看看一灯怎么总结的MySQL的八股文。

我: 要知道MySQL索引底层数据结构为啥用B+树,先要了解一下什么样的数据结构更适合建索引。

为了保证数据安全性,一般都是把数据存储在磁盘里面。当我们需要查询数据的时候,需要读取磁盘,就产生了磁盘IO,相比较内存操作,磁盘IO读取速度是非常慢的。

由于所需数据可能在磁盘并不是连续的,一次数据查询就需要多次磁盘IO,所以就需要我们设计的索引数据结构尽可能的减少磁盘IO次数。

阅读全文