关于mysql的索引

来源:3-8 索引额外的问题之如何调优Sql

慕斯卡8036547

2020-04-25

假如使用like进行模糊查询,如果结果中含有非索引的字段会导致整条sql不走索引
比如以下这条sql , 结果中包含的price字段是没有添加索引的,但是title添加了索引
EXPLAIN SELECT price, title from sku where title LIKE “%七色%”;
最终的结果是导致整条sql都没走索引

单独执行
EXPLAIN SELECT title from sku where title LIKE “%七色%”; 则会走索引

原因是什么呢?应该怎么进行优化?

写回答

1回答

翔仔

2020-04-26

同学好,是否走索引并不是确定的,主要取决于sql执行器的判断,同学可以尝试给表添加几千万的数据试试,也可以直接使用force 来强制走索引。但是sql执行器会依据它认为高效的方式去查询,所以应该是最优的

2
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8442 学习 · 1872 问题

查看课程