为什么我的查询在mysql中没有使用松散的索引扫描?

时间:2014-12-21 16:27:41

标签: mysql query-optimization database-administration

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"。

任何人都可以解释这个问题背后的正当理由吗?

0 个答案:

没有答案