1. 避免select * ,因为会导致回表查询,应该指定对应列,走覆盖索引
2. in 个数不能太多 一般100个就行
3. 用inner join代替嵌套查询,因为嵌套查询会创建临时表,用完会删除,影响性能
4. 尽量使用覆盖索引,这样就可以不用回表
5. 尽量走索引,以下是索引失效的条件
1. 没有匹配最左原则,比如联合索引(a,b),查询条件b
2. 索引列使用函数
3. 范围查询 后面的字段
4. 模糊查询
5. is null。如果null值较多 会走全表查询。
6. != 不等于