参加一个阿里的面试,遇到Mysql索引一个很迷的问题,求答案

对话记录如下:
问:Mysql索引是B+树,为什么要用B+树?
答:1. 因为B+树是平衡的,不会出现一边倒的情况;2. 而且非叶子节点不存数据,可以把索引全加载到内存,减少了磁盘IO;3. 查询用到索引的话,就一定要从根节点查到叶子节点,查询时间相对稳定;4. 更适用于范围查询
问:Mysql索引在设计时为什么要考虑范围查询,本质原因是什么?
答:emmmmmmm,因为经常有范围查询的需求?
问:抛去需求呢,我问本质原因;假如我们不用范围查询,Mysql就不用B+树了么?
答:emmmmmmm,不知道了

所以答案到底是什么?有点没搞懂面试官想问什么。

(是阿里妈妈的二面,面经参考我的另一个帖子)
#答疑解惑##阿里巴巴##面试题目#
全部评论
点赞 回复
分享
发布于 2020-03-05 22:10
up
点赞 回复
分享
发布于 2020-03-05 22:18
联易融
校招火热招聘中
官网直投
我猜应该是解释一下为什么适合范围查询,为什么不用B输的原因。
点赞 回复
分享
发布于 2020-03-05 23:23
后天早上八点阿里一面。慌得一批现在
点赞 回复
分享
发布于 2020-03-05 23:27
不用范围查询,就b树,mongodb
点赞 回复
分享
发布于 2020-03-06 01:00
我记得b树也可以范围查询,只是要中序遍历。。范围查询不是用B+树的主要原因,主要还是你答的第二点。
点赞 回复
分享
发布于 2020-03-07 05:04
我感觉是不是因为innodb有间隙锁,next key lock,这些锁的实现也要依赖范围查询
点赞 回复
分享
发布于 2021-01-17 14:25
局部性原理?
点赞 回复
分享
发布于 2021-01-18 13:08

相关推荐

团子 行业运营 n*15.5
点赞 评论 收藏
转发
点赞 20 评论
分享
牛客网
牛客企业服务