场景字段 a b 单列索引 C 没有索引
a and b 走一个索引,由sql执行优化器决定
a or b 不走索引
a and c 走索引
a or c 不走索引
复合索引 a b c
where 等于条件查询 a ab abc走索引
b c bc 不走索引
or 条件查询也会走索引
单列索引总结
使用到索引的情况:
大于号
小于号
等于
不等
like 非%开头
in (参数不限多少都走)
not in
条件表达式右侧计算 age = 10/2 或者 age = 10/2 + 1
between and
is null
未走索引的情况:
like % 开头
条件左侧有计算 age /2 = 10 或者 age+1 = 10
= null
字符类型与数值类型比较
substring
or 不走索引
复合索引
第一列大于小于号走索引
第二列、第三列 单个比较不走索引
第一列不等于走索引
第一列 in 走索引
第一列 between and 走索引
包含or 即不走索引
走不走索引跟表数据量和sql执行优化器也有关系