执行计划详解
https://blog.csdn.net/wuseyukui/article/details/71512793
范围查找
设置组合索引,在sql里有范围查询,并且有order by,覆盖索引,将有不同的type
https://www.cnblogs.com/silyvin/p/9251297.html
索引
1操作符(范围查询在order by,覆盖索引下有不同的表现)
- 范围">","in","between",会扫描索引,是否在优化等级里为"range"?
- 不等于"!=","<>"导致全表扫描
- like,以 % 开头导致全表扫描
- is null,is not null导致全表扫描,给定默认值
- or导致引擎放弃使用索引而进行全表扫描,用union all替换
2索引上的计算
- 函数
- 两表的关联字段类型不同
- 类型隐式转换,例子:age设置为varchar,age=1,存在隐式转换
3组合索引
- 顺序
- 覆盖索引