关于mysql使用向右模糊查询是否走索引的问题?

CREATE TABLE T5(
id INT PRIMARY KEY,
a VARCHAR(16),
b VARCHAR(16),
INDEX (a,b))ENGINE=INNODB;

EXPLAIN SELECT * FROM T5 WHERE a LIKE 'a%';

网上很多都说向右模糊查询,能避免全盘扫描,使用解释性语言查询的时候rows还是查询了所有的列,现在能说这种说发是错误的么?

不需要的,没有关系的,正常查询就行

向右模糊查询 % 前面值可走索引
要清楚索引覆盖查询具体的原理。就知道了

根据mysql的最左前缀匹配特性,如果左边的值未确定是无法使用索引的,你这个模糊查询SELECT * FROM T5 WHERE a LIKE 'a%',
a的值是已经知道了,既左边的值已经确定了是可以走索引的,所以你这个sql是可以走索引的,如果你的模糊查询是%在a的前面,那么这个模糊查询就是不可以走索引的,因为这个%是一个不确定的值。

你这是组合索引...另外模糊查询是肯定不会走索引的。