跳到主要内容

SQL 优化知识体系概览

问题

SQL 优化涉及哪些方面?如何系统性地进行数据库查询性能调优?

答案

什么是 SQL 优化

SQL 优化是通过分析和改进 SQL 语句的执行方式,减少数据库资源消耗,提升查询响应速度的过程。它是数据库性能调优中最常见、投入产出比最高的手段。

为什么需要 SQL 优化

  • 一条慢 SQL 可能拖垮整个数据库,影响所有业务
  • 数据量增长后,原本正常的 SQL 可能突然变慢
  • SQL 优化是成本最低的性能提升方式(相比加硬件、加缓存)

SQL 优化知识体系

SQL 执行全流程

理解 SQL 的执行流程是优化的前提:

优化器是关键:它决定使用哪个索引、JOIN 顺序、是否使用临时表等。SQL 优化的本质是帮助优化器做出更好的决策。

SQL 优化方法论

步骤说明工具
1. 定位慢 SQL找出执行时间长的语句慢查询日志、APM
2. 分析执行计划查看优化器的执行策略EXPLAIN
3. 定位瓶颈确定是索引、表扫描、排序还是锁EXPLAIN 各字段分析
4. 优化方案加索引、改写 SQL、调整结构具体优化技巧
5. 验证效果对比优化前后的执行计划和耗时EXPLAIN + 实际测试

本分类文档导航

文档核心内容面试重点
EXPLAIN 执行计划详解type/key/Extra 各字段含义⭐⭐⭐⭐⭐ 必问
慢查询分析与定位慢查询日志、SHOW PROFILE⭐⭐⭐⭐
查询重写优化JOIN/子查询/UNION 优化⭐⭐⭐⭐
分页查询优化深分页、游标分页⭐⭐⭐⭐
批量操作优化批量插入/更新/删除⭐⭐⭐

面试重点提示

高频考点
  1. EXPLAIN 必问:type 级别排序、Extra 中的 Using filesort/Using temporary
  2. 索引失效必问:12 种常见场景(详见索引优化
  3. 慢 SQL 排查:实际项目排查思路(场景题高频)
  4. 分页优化:深分页问题及解决方案

相关链接