SQL优化面试题及详细答案(实战干货版).docxVIP

  • 1
  • 0
  • 约4.6千字
  • 约 7页
  • 2026-08-25 发布于河北
  • 举报

SQL优化面试题及详细答案(实战干货版).docx

SQL优化面试题及详细答案(实战干货版)

一、基础认知类(入门必问)

1.工作中为什么会出现SQL慢查询?常见原因有哪些?

参考答案:

日常开发中慢查询基本都是业务和索引搭配不当导致的,核心常见原因有这几种:

1)无索引/索引失效:查询字段、关联字段没建索引,或者写法问题导致索引用不上;

2)索引设计不合理:索引建太多、冗余索引,或者联合索引顺序不对,不遵循最左前缀原则;

3)返回数据量过大:不加limit、全表批量查询、一次性查询整表数据;

4)SQL写法不规范:大量使用select*、子查询嵌套过深、join过多、or/in滥用;

5)数据和表结构问题:单表数据量过大(千万级以上)、字段类型不合理、大字段冗余;

6)数据库配置问题:连接池、缓存、内存参数配置过低,导致查询效率下降。

2.你日常排查慢SQL的完整流程是什么?

参考答案:

我工作中固定一套排查流程,高效定位问题:

第一步:通过数据库慢查询日志、项目监控平台,抓取执行时间长、扫描行数多的慢SQL;

第二步:对目标SQL执行explain,查看执行计划,重点关注type、key、rows、Extra字段;

第三步:判断问题根源,是没走索引、索引失效,还是扫描数据量太大、表关联不合理;

第四步:针对性优化SQL写法或新增、调整索引;

第五步:优化后再次执行explain验证执行计划,线上测试对比执行耗时,确认优化

文档评论(0)

1亿VIP精品文档

相关文档