美团面试被问到了主键查询还是索引查询快?

如题,面试时遇到了这样一个数据库问题,以下是我的思考和疑惑:
主键也是一种索引,普通索引一般使用B-Tree结构来实现,查找时间复杂度是O(log n)级别的,
然而不知道主键查询是扫描全表呢?还是像b-tree一样有特别的数据结构支持呢?
还是说,在数据量小的时候,主键查询会比索引查询快,而数据量大的时候,索引查询优势很大?
谢谢~~
全部评论
innodb不是索引是查到底是主键值然后再去主键索引查具体数据么...应该是主键索引快吧
点赞 回复 分享
发布于 2018-03-14 00:29
这个不同的数据库引擎有所区别, 这里我推荐一篇博客给你(我自己觉得这篇博客写的不错):https://www.cnblogs.com/bonelee/p/6225211.html
点赞 回复 分享
发布于 2018-03-14 08:41
他的问题应该是主键索引查找快,还是二级索引快?感觉这个问题应该分引擎回答,如果是MyISAM中,主键索引和二级索引是一样快的,在InnoDB中,主键索引快,因为二级索引找到主键后,还要在主键索引中再找一遍,
点赞 回复 分享
发布于 2018-03-14 13:20
索引查询快。主键查询实际上是变相的全表扫描
点赞 回复 分享
发布于 2018-03-14 00:22
主键自带索引属性
点赞 回复 分享
发布于 2018-03-14 13:24
看的我都头大,索引先在辅助索引查找所在页,再装入内存页才真正开始查询。。。
点赞 回复 分享
发布于 2018-03-14 13:48
对于innodb来说那肯定是主键查询快呀,他的数据直接时间是在叶子上😂
点赞 回复 分享
发布于 2018-03-14 23:08

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务