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

如题,面试时遇到了这样一个数据库问题,以下是我的思考和疑惑:
主键也是一种索引,普通索引一般使用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

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务