Skip to content

怎么Sql调优的 ​

题目 ​

平时你是怎么做 SQL 调优的?

参考答案 ​

我一般按这个顺序做:

  1. 找到慢 SQL
  2. 看执行计划
  3. 判断是否走索引、扫描行数是否过大
  4. 再决定改 SQL、改索引、改表结构还是改业务流程

调优不是只会“加索引”,还包括减少字段、避免函数、拆大查询、限制深分页等。

回答展开 ​

  • 这题不要上来就说加索引,更好的回答顺序是:先找慢 SQL,再看执行计划,再判断是 SQL 写法、索引设计、表结构还是业务访问模式的问题。
  • 真实调优里常看的不是单个 SQL 文本,而是 rows、回表次数、排序、临时表、分页深度,以及这个查询到底是不是高频热点查询。
  • 如果只是偶发慢,可以先从统计和监控入手;如果是稳定慢,就要结合索引、字段裁剪、覆盖索引、游标分页、冷热分离等方案一起优化。

实际场景 ​

比如后台订单列表页很慢,排查发现 SQL 里既有条件过滤又有排序,还用了深分页。最后通过补联合索引、去掉 select all、把翻页改成基于主键游标之后,查询耗时会明显下降。

努力工作 享受生活