MySQL - 为什么索引存储要用B+树,用链表不行吗?
时间:2023年2月1日22:19:09
一、先来比较一下链表和树?
二、为什么数据库索引要用B+树?
- 为什么要用索引,数据直接Load到内存里查不可以吗?(可以)
- 用了索引解决了什么问题?
- 为什么索引要用树结构?(索引是用来查的,反复迭代后优化出的树结构会显著加快查询速度)
- 索引不用B+树,用基本的树不行吗?(行)
- B+树?那有B-树吗?好像还有什么红黑树?它们和B+树有什么关系?
拒绝长篇大论,一张图带你解决这些问题:
➡️ B+树由于每个节点存储的是索引,不再存储数据,单节点可存储更多的索引,这将直接使得树的高度降低,查询速度加快。
➡️ 对于一个问题的解决方案,没有“行还是不行”,只有“好还是不好”,接纳+评价应该出现在拒绝+批判之前。
END