题解 | 使用索引覆盖效率提升80%

查找学校是北大的学生信息

http://www.nowcoder.com/practice/7858f3e234bc4d85b81b9a6c3926f49f

select语句中使用的索引覆盖所有需要查询的字段

覆盖索引的原理:就是查询字段在 二级索引中全部找到,不需要回表查询

覆盖索引只是特定于具体select语录而言的联合索引。也就是说一个联合索引对于某个select语句,通过索引可以直接获取查询结果,而不再需要回表查询啦,就称该联合索引覆盖了这条select语句。

本题中经过测试,device_id,university 为联合索引,因此:

Select device_id,university FROM user_profile where university = "北京大学" and device_id = user_profile.device_id;

device_id = user_profile.device_id 这一步是100%成立的,使用的目的就是索引覆盖

全部评论
为什么要加device_id = user_profile.device_id这个条件
12 回复 分享
发布于 2022-07-04 18:13
不要这么写,简单的事复杂做,脑子有坑。如果真要效率,university加索引,这种绕来绕去的程序是最可怕的
4 回复 分享
发布于 2023-01-31 16:22 江苏
快个锤子,信了你的邪
2 回复 分享
发布于 2022-08-13 10:06
表都没得索引
2 回复 分享
发布于 2022-07-05 09:09
数据这么少,加索引用处不大,索引也是分场合使用的,原本直接查找的效率就可以,加索引有点浪费
1 回复 分享
发布于 2023-01-02 12:13 河南
又不是两张表,你用device_id = user_profile.device_id;干什么?不会教人不要乱教
点赞 回复 分享
发布于 2024-08-27 10:42 广东
一直没懂为啥要加这个后面的语句,到where 哪里就应该结束了
点赞 回复 分享
发布于 2023-12-11 11:08 广东
人题目没给你这个条件,你在过度解读些什么东西😅
点赞 回复 分享
发布于 2023-11-09 11:13 广东
这**又不是两个表,又不需要连接条件,啥***题目
点赞 回复 分享
发布于 2023-10-13 21:23 重庆
select device_id,university from user_profile where university='北京大学'; 这样写 为啥不通过有啥错误嘛
点赞 回复 分享
发布于 2023-03-07 17:05 江苏
我自己写的42ms,用这个44ms
点赞 回复 分享
发布于 2023-02-08 15:15 湖北
什么索引不索引的,什么意思
点赞 回复 分享
发布于 2022-10-04 17:20 广东
不是很理解
点赞 回复 分享
发布于 2022-09-28 14:59 江西
统一个回复,题目的表的索引变了
点赞 回复 分享
发布于 2022-08-21 12:56 北京
加个这速度没快,内存还变大了
点赞 回复 分享
发布于 2022-08-19 08:34 四川
速度变慢了。。。。
点赞 回复 分享
发布于 2022-07-23 12:23

相关推荐

想run的马里奥在学...:这个学历帮你扫平百分之80的障碍,投就完了,这会找不到就等3月暑期一样能找到
点赞 评论 收藏
分享
2025-12-06 01:10
已编辑
哈尔滨工程大学 Java
一面问的真细,二面不知为啥变双机位。9.29快手主站平时怎么学习 AI 的,国内外知名大模型,实习公司都用的什么大模型,怎么评估效果的java池化思想,线程池构造方法的核心参数,线程池中阻塞队列注意事项,submit方法参数和执行逻辑,shutdown和shutdownnow,核心线程允许过期吗threadlocal底层,为什么key是弱引用,key回收了再get或者set这个value会怎样aqs,如何保证公平性java代理java堆划分,新生代还有别的晋升老年代的情况吗,什么时候触发gc,gc失败抛什么异常,如何排查oom,导出dump命令redis数据结构,哪个底层是跳表,和其他数据结构对比布隆过滤器会出现大key问题吗,你咋实现的布隆过滤器你怎么实现redis分布式锁,可重入,续期聚簇索引非聚簇索引select语句会加锁吗,怎么实现的不加锁undolog redolog binlog怎么能让select加锁,update这个范围加的什么锁,update一条呢手撕简单01背包,接雨水10.10快手主站意图识别用的哪个大模型,走到意图和rag的比例,faq是点击的吗自然语言怎么识别的gap一年干啥了,转正怎么样没跟组里提意向吗,研究生研究方向是传统算法吗,会大模型微调吗注册场景为什么用布隆过滤器,原理分布式锁底层的key怎么拼的,value里是什么redis持久化zset底层mysql索引结构,一个表三个字段有主键唯一索引和没索引的字段会有几个b+树,聚簇索引非聚簇索引存的啥无手撕
点赞 评论 收藏
分享
评论
111
16
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务