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