mysql 选择索引的几个条件之一: 1。 会优先选择区分度比较高的, 请看 name , 跟popu字段 谁的基数高 2。 会优先选择不需要回表的列。 如果用pop  索引 必定要回表,所以mysql没考虑 3。 order by 出现的列。  所以我推测符合条件2, 采用name_pop的原因就是name_pop不需要回表吧。 emmmm  useing where 代表回表了吗? 我有空在翻翻书, 我也忘记了。