上课上课
先总结结论
- in 查询会走索引的范围查询
- 不确定的范围查询会导致索引失效 例如 not in 因为这些值可能不是有序的。在这种情况下会导致索引失效
- like查询百分号在左不走索引
- like查询百分号在右走索引
具体可以看执行结果
in查询走了创建的索引
not in不走索引,可以看到索引是存在的,但是没有走索引而是全表查询,执行也是花了十多秒
like查询分情况, 百分号在尾部会走索引,原因是索引是从左至右,如果在左侧则不走索引
百分号在左侧情况为全表查询没有走索引
百分号在右侧情况走了主键索引
课外知识
type=ALL:全表扫描,遍历整张表去查询匹配的结果,不走索引。
type=index:使用索引覆盖,仅仅扫描索引树,比ALL要快。
type=range:使用索引进行范围查询时就会用到range访问方法。
key:实际使用到的索引,如果为NULL就是没使用索引。