建立索引的五大原则
- 最左前缀匹配原则。
- “=” 和 “in” 可以乱序。
- 尽量选择区分度高的列作为索引。
- 索引列不能参与计算。
- 尽量扩展索引,不要新建索引。
查询优化神器 - explain命令
慢查询优化基本步骤
- 先运行看看是否真的很慢,注意设置 SQL_NO_CACHE
- where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
- explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
- order by limit 形式的 sql 语句让排序的表优先查
- 了解业务方使用场景
- 加索引时参照建索引的几大原则
- 观察结果,不符合预期继续从0分析