如何处理慢查询
如何处理慢查询
思路:
- SQL优化
- 索引优化
- 表结构和存储引擎
- 数据库配置
- 硬件和操作系统
小结:
- 检查是否查询了多余的列,如何只需要查询id和name,结果select *。
- explain SQL 查看是否走了索引
- 如果是联合索引,查看是否走了联合索引(将范围查询的条件放在联合索引的后面,如果联合索引abc,a=1 and b>2 and c=3,这样只走了a=1 and b>2,联合索引要满足最左匹配原则,遇到范围查询就会停下来)
- 避免null数据
- 尽可能使用limit来减少数据量
- 尽可能地缩小数据类型的长度
- 尽量不使用站外的数据库
- 选用合适的数据库引擎
- 服务降级
- 分库分表
- 提高硬件水平
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 柳门竹巷!
评论