使用临时,使用带有顺序和分组的文件

时间:2011-08-04 06:42:46

标签: mysql indexing group-by sql-order-by

查询

SELECT *
FROM table11
WHERE table1.field1 = 1
GROUP BY table1.field2
ORDER BY table1.field3 DESC

我尝试了所有这些

(field1,field2,field3)
(field1,field3,field2) 

索引但仍然使用临时和使用filesort解释计划显示。

任何解决方案?

1 个答案:

答案 0 :(得分:0)

您正尝试按 field3 对数据进行排序, group by 子句不属于 group by 子句。这意味着 field3 参与分组过程,返回 field3 的随机值,因此文件排序是不可避免的。

在这种情况下,最好的索引是(field1, field2)