大场面试题:怎么优化一个慢SQL

美团后端面试。
面试官直接问:“你SQL慢了怎么优化”。
我愣了一下,硬着头皮回答:“加索引、分库分表、EXPLAIN分析执行计划”。
面试官听完点点头,继续追问:“如果这些都不行呢”
我直接懵了,只好硬扯:“那可能要重构业务逻辑”
虽然最后挂了,但这个问题让我回去狠狠恶补了一下SQL优化知识。
#一人一道大厂面试题#
全部评论
问的是sql慢了怎么优化;还有很多方面啊,比如扩充数据库缓存大小;插入的时候,改单次为批量;查询的时候走覆盖索引;内外连接的时候以小表为驱动;合并的时候不过滤......
4 回复 分享
发布于 2025-09-02 17:49 浙江
我怎么觉得面试官想往缓存中间件上引导呢
2 回复 分享
发布于 2025-09-02 08:40 福建
面试官想问啥呢
点赞 回复 分享
发布于 2025-09-03 23:48 北京
sql语句层面效率也可以做优化,避免select *,避免索引失效,如何避免回表,避免子查询等。
2 回复 分享
发布于 2025-09-01 18:43 广东
你讲的太粗浅,面试官也没深问你,你说的那些跟八股文似的。SQL优化光是索引这个方面,你要细说都能说十分钟。别像挤牙膏似的,有时候面试官是懒得细问了,因为不喜欢挤牙膏,面试官耐心很有限的
点赞 回复 分享
发布于 2025-10-17 07:32 北京
就是加索引,其他都要加班
点赞 回复 分享
发布于 2025-09-03 12:37 广东
真是大场面啊
点赞 回复 分享
发布于 2025-09-02 17:30 湖北
那除了这些方法还有啥办法????
点赞 回复 分享
发布于 2025-09-02 12:49 重庆
组内实习生答辩时候也被问到过这个问题,就是你这个回答,领导认为没答好
点赞 回复 分享
发布于 2025-09-01 19:33 江西
大场面
点赞 回复 分享
发布于 2025-09-01 16:23 北京
我也就能想到这些...佬还有什么排查方法么
点赞 回复 分享
发布于 2025-09-01 12:41 北京

相关推荐

01-14 17:41
已编辑
门头沟学院 Java
一面60min左右自我介绍+项目全流程讲解 15min左右项目提问15min左右(只能回忆一部分)1.SSE与WebSocket的区别?2.构建出的知识库中的数据是如何处理?3.检索出来的结果不够精准,应该如何继续去优化?4.系统性能如何评估?用到的指标是什么?5.短期记忆和长期记忆如何做?6.系统越用越慢,如何反向调优?7.用户引导模型越狱问题如何解决?8.如何在最大程度上减少幻觉问题?场景题10min左右1.利用你学到的知识设计一个秒杀系统?2.除了上述讲的之外在秒杀前中后应该要做什么处理?3.不使用缓存,用数据库层接住全部流量,数据库这层要做什么处理?八股20min1.一条SQL的执行流程?2.MySQL8.0为什么要移除查询缓存?3.Innodb引擎核心模块有哪些?4.索引失效场景?5.Java内存模型如何划分?6.堆和栈的区别?7.JVM如何保证只加载一个类?8.SpringBoot的自动装配?9.SpringBoot的启动流程?二面40min左右项目提问15min左右1.为什么要根据系统重新写一个ID生成器?如何解决数据倾斜的问题?扩容碰到的问题如何解决?2.消息推送的完整链路,已经如何设计高可用和高可靠两个模式?3.10w条消息推送,多久可以推送完?4.如果是100w,10000w数据,系统是否可以抗住?5.有突发紧急任务进来,应该如何处理?6.令牌桶算法?7.在处理哪些场景上用到消息队列?8.rocketmq和kafka的选型?场景题目25min左右1.以京东秒杀商品为背景,秒杀成功之后进行支付,支付成功后要去调我们的扣费接口。但这个过程中也有可能会数据丢失,比如说用户支付完了之后,扣费没调成功,或者其他问题,导致了我们那个订单的状态没更新好。用户未支付,到15 分钟后库存又被还原掉了。针对这个完整的链路,讲一下关键节点的技术要点。2.把支付的一些参数,包括订单号等信息,按照第三方支付平台的要求拼起来加密,产生一个支付流水号。用户支付之后,但是此时和第三方系统通讯的链路断了,如何解决用户付了钱,订单没更新的问题。3.系统没有有随机3%左右的接口访问的时候超时。比较随机,而且分布的接口又不是在同一个接口。像这样的一个生产问问题如何去排查?三面HR面30min(常规问题不做记录)
点赞 评论 收藏
分享
评论
6
33
分享

创作者周榜

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