1,未建立索引
执行以下sql:explain select age,count(age) from t_input group by age;
查看执行计划,发现查询方式是使用临时表(Using temporary)和Using filesort
2,为age建立索引,再次执行上述sql,查看执行计划,走了索引
create index idx_input_age_phone on t_input(age,phone);;
3,2中索引不变,执行如下sql,查看执行计划,发现走索引,但不满足最左前缀法则走临时表和filesort
explain select phone,count(*) from t_input group by phone;
4,2中索引不变,分组条件依次为age、phone,执行如下sql,查看执行计划,满足前缀法则,走了索引
5,2中索引不变,执行如下sql,并查看执行计划,仍然满足最左前缀法则
explain select age,phone,count(*) from t_input where age = 20 group by phone;