mysql

执行计划详解

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组合索引

  • 顺序
  • 覆盖索引
原文地址:https://www.cnblogs.com/SmilingEye/p/10427084.html