我的mysql MyISAM表查询SQL:where f1=xxx group by f2 order by f3涉及到f1,f2,f3都是int型的,该如何建立索引呢?我试了f1,f2,f3的组合索引,explain确实也用到了,但是查询速度仍然很慢,30w的数据大概要500ms左右,但是不要group by之后就只有50ms,请问有更好的索引策略吗?
查询SQL为:WHERE f1=xx GROUP BY f2 的时候速度很快,但是加上ORDER BY f3之后又慢下来,也是500ms左右,同样如果是(f1,f3)的索引组合 SQL为:WHERE f1=xxx ORDER BY f3,也就是去掉GROUP BY之后速度也很快。不知道这是达到MYSQL的极限了吗?
查询SQL为:WHERE f1=xx GROUP BY f2 的时候速度很快,但是加上ORDER BY f3之后又慢下来,也是500ms左右,同样如果是(f1,f3)的索引组合 SQL为:WHERE f1=xxx ORDER BY f3,也就是去掉GROUP BY之后速度也很快。不知道这是达到MYSQL的极限了吗?
CREATE INDEX ix_tablename_f1_f2 ON temp (f1,f2);