MYSQL数据库组合索引的'最左前缀'问题!

首先看下所创表的结构:
图片说明
然后按'最左前缀'的方法EXPLAIN这张表,如下:
图片说明
毋庸置疑,好像没什么问题,那么现在看看下面两张图片:
图片说明
。。。[PS衔接符号]。。。
图片说明
即使没有按照'最左前缀'的方法,但是显示结果还是用了'KEY’,求解答。

select后面的列不影响索引的。where后面的条件id不是一直都在吗?。复合索引存在一个最左匹配原则,你可以看我的博客
第22.2.1 索引建立的几大原则。如果看完博客没有帮助,私信我。我好像没有理解你的具体问题,欢迎交流

复合索引,是这样的,只要保证按照复合索引创建的顺序使用,就没有问题啊。还有导致索引失效的情况有多种,自行了解,记住“排头兵不能倒,中间不能断”,这样就能保证索引不失效,自己体会吧

http://blog.csdn.net/albertfly/article/details/52515791

select 后面的列和索引没有关系,查询优化器是从where条件后面的,你的索引id, name, age 在查询顺序的时候使用了索引,因为where后面的id,name
顺序还是按照索引序列来的

索引的使用是根据where的条件列的顺序,与select选择的列的顺序无关

索引最左前缀是根据where 条件列后的字段来的,与select的字段无关