sasha wrote:

Потому что это бессмысленно.

Объясни пожалуйста.

Потому что только индексом воспользоваться не удастся. Придется сочетать чтение на основе индекса с буферной сортировкой для каждой группы. Т.е. удваивать кол-во операций по сравнению с любым из ORDER/SORT отдельно. Ключевая идея, стоящая за SORT -- что записи читаются в порядке физического расположения и, след-но, экономия на этом (по сравнению со случайным I/O в случае ORDER) позволит компенсировать собственно сортировку.

Твоя идея хороша только для одного: быстро загрузить первые N записей в грид при сортировке по полям, непокрытым индексом. На полном же фетче этот вариант должен проиграть SORT'у. Исключение одно -- если индекс по первым полям хорошо кластеризован, но у нас нет соответствующей статистики. Зато если индексированные поля сильно неуникальны, то твой вариант "уйдет в себя" на века.


--
Дмитрий Еманов

Ответить