Mysql索引为什么使用B+树而不使用跳表?

在我们的印象中,MySQL数据表里无非就是存储一行行的数据 。跟个Excel似的 。
直接遍历这一行行数据,性能就是O(n),比较慢 。为了加速查询,使用了B+树来做索引,将查询性能优化到了O(lg(n)) 。
但问题就来了,查询数据性能在 lg(n) 级别的数据结构有很多,比如redis的zset里用到的跳表,也是lg(n),并且实现还贼简单 。
那为什么mysql的索引,不使用跳表呢?
我们今天就来聊聊这个话题 。
 
B+树的结构【Mysql索引为什么使用B+树而不使用跳表?】之前的一篇文章里,已经提到过B+树的结构了 。文章不长,如果没看过,建议先看下 。
当然,不看也行 。
在这里,


    推荐阅读