常见的SQL优化方法:
1、避免回表查询
建立联合索引,把查询的列,建在联合索引中,这样可以避免回表查询
2、避免范围查询导致的联合索引失效
3、常见索引失效的情况
- or语句前后没有同时使用索引。当or语句查询字段只有一个是索引,该索引失效,只有当or语句左右查询字段均为索引时,才会生效
- 对于复合索引,如果不使用前列,后续列也将无法使用
- like关键字以%开头
- 数据类型出现隐式转换,那么会导致索引失效,造成全表扫描效率极低
- 索引列参与计算
- 索引列使用函数
- 使用not,<>,!=,is not null,优化方法:key<>0改为key>0 or key<0
- 不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。