如何处理慢查询

思路:

  1. SQL优化
  2. 索引优化
  3. 表结构和存储引擎
  4. 数据库配置
  5. 硬件和操作系统

小结:

  1. 检查是否查询了多余的列,如何只需要查询id和name,结果select *。
  2. explain SQL 查看是否走了索引
  3. 如果是联合索引,查看是否走了联合索引(将范围查询的条件放在联合索引的后面,如果联合索引abc,a=1 and b>2 and c=3,这样只走了a=1 and b>2,联合索引要满足最左匹配原则,遇到范围查询就会停下来)
  4. 避免null数据
  5. 尽可能使用limit来减少数据量
  6. 尽可能地缩小数据类型的长度
  7. 尽量不使用站外的数据库
  8. 选用合适的数据库引擎
  9. 服务降级
  10. 分库分表
  11. 提高硬件水平