索引最左前缀原则
联合索引中不能跳过前面位置的索引字段去判断后面的字段 例如联合索引(name,age,position)
原因:联合索引也是用b+tree 去掉前面的索引字段
name,后面的是无序的。如下事例
select * from t where name = 张三(走索引)
select * from t where age=25 and position=北京 (不走联合索引 但是会扫描所有索引 也是走 type=index all 比全表查询快)
select * from t where position=北京(不走索引)
select * from t where name =张三 and position=北京(走部分索引 )
select * from t where name =张三 and age>15(走部分索引,到age就不走 )