在我们的印象中,MySQL数据表里无非就是存储一行行的数据 。跟个Excel似的 。
直接遍历这一行行数据,性能就是O(n),比较慢 。为了加速查询,使用了B+树来做索引,将查询性能优化到了O(lg(n)) 。
但问题就来了,查询数据性能在 lg(n) 级别的数据结构有很多,比如redis的zset里用到的跳表,也是lg(n),并且实现还贼简单 。
那为什么mysql的索引,不使用跳表呢?
我们今天就来聊聊这个话题 。
B+树的结构【Mysql索引为什么使用B+树而不使用跳表?】之前的一篇文章里,已经提到过B+树的结构了 。文章不长,如果没看过,建议先看下 。
当然,不看也行 。
在这里,
推荐阅读
- 黎族纹身的起因是什么 黎族为什么要纹身
- 河北蚩尤古墓 蚩尤墓为什么不挖
- 恒星为什么会坍塌成黑洞
- 寒武纪为什么出现大量生物 寒武纪生命大爆发出现的主要生物是
- 国内美甲价格为什么会这么贵
- 为什么美洲大陆没有产生文明 为什么美洲没有发达的文明
- 冬季喝红茶还是普洱,为什么总是说少喝绿茶?[红茶]
- 为什么红茶在英语里叫"black[红茶]
- 月球有背面吗 为什么月球背面不能去
- 为什么信号满格却上不了网?