SQL语句优化面试题及答案(实战版).docxVIP

  • 1
  • 0
  • 约3.38千字
  • 约 5页
  • 2026-08-24 发布于河北
  • 举报

SQL语句优化面试题及答案(实战版).docx

SQL语句优化面试题及答案(实战版)

一、基础必考题(初级开发)

1.日常开发中,最常见的SQL慢查询原因有哪些?

参考答案:

1)索引失效:最核心原因,比如like%前缀匹配、or关联无索引字段、隐式类型转换、in/notin大范围数据、orderby字段无索引等;

2)查询冗余:select*查询所有字段、返回大量无用数据、未加limit限制结果集;

3)关联查询不合理:多表join关联字段无索引、笛卡尔积、不必要的表关联;

4)条件写法问题:where条件不精准、对索引字段做函数运算、!=/判断导致索引失效;

5)数据及表结构问题:单表数据量过大无分表、字段类型不合理、大字段频繁查询;

6)数据库配置问题:连接池、缓冲区、超时参数配置不当。

2.说说select*为什么不推荐使用?

参考答案:

1)浪费IO和网络资源:会查询所有字段,包含大文本、长字符串等无用字段,增加磁盘读取和网络传输开销;

2)无法使用覆盖索引:select指定字段可触发覆盖索引,无需回表,select*必然回表,查询效率大幅降低;

3)维护风险高:后续表新增字段后,查询结果会被动变化,可能导致程序报错、数据解析异常;

4)增加数据库内存开销:结果集越大,数据库缓存、临时内存占用越高,容易引发慢查询。

3.where、groupby、orderby、having的执行顺序

最近下载

文档评论(0)

1亿VIP精品文档

相关文档