Использование временных, Использование сортировки файлов с порядком и группировка по - PullRequest
2 голосов
/ 04 августа 2011

Запрос

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

Я пробовал все это

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

индексы, но все же объясняют планы показа, используя временную и файловую сортировку.

Есть решение?

1 Ответ

0 голосов
/ 04 августа 2011

Вы пытаетесь отсортировать данные по field3 , который не входит в группу по предложению . Это означает, что field3 участвует в процессе группировки, который возвращает случайные значения field3 , поэтому сортировка файлов неизбежна.

В этом случае наилучший возможный индекс - (field1, field2).

...