对 SQL 慢查询优化

可能原因

  • 分析 SQL 执行计划(explain extended),思考可能的优化点,是否命中索引等
  • 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
  • 内存不足
  • 是否查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
  • 是否返回了不必要的行和列
  • 锁或者死锁
  • I/O 吞吐量小,形成了瓶颈效应
  • sp_lock,sp_who,活动的用户查看,原因是读写竞争资源

优化

  1. 分析语句,是否加载了不必要的字段/数据。
  2. 分析 SQL 执行计划(explain extended),思考可能的优化点,是否命中索引等。
  3. 查看 SQL 涉及的表结构和索引信息。
  4. 如果 SQL 很复杂,优化 SQL 结构。
  5. 按照可能的优化点执行表结构变更、增加索引、SQL 改写等操作。
  6. 查看优化后的执行时间和执行计划。
  7. 如果表数据量太大,考虑分表。
  8. 利用缓存,减少查询次数。
posted @ 2021-12-19 11:02  zjMars  阅读(132)  评论(0)    收藏  举报