mysql版本:5.0.77
表:
create table cus (
id int(11), salary varchar (50), no int(11)
) engine=innodb;
有两个索引。
1st one : id (id,salary,no)
2nd one : no (no,salary,id)
解释select id, max(salary), no from cus where no='1' group by id;
使用" no"指数。我认为它应该使用" id"索引,因为我提到id列为分组列,并在分组列后面的列上使用max()聚合函数。
使用explain语句执行查询时,显示额外列中的输出(使用where,using index,using temporary)。我希望额外列的输出为"使用where,使用index by"。
任何人都可以解释这个问题背后的正当理由吗?