слишком большой LIMIT, то расходуется меньше оперативки. Иначе расходуется количество памяти, пропорциональное количеству данных для сортировки.
Делаю запрос с LIMIT 1, никаких группировок нет, только простой WHERE и ORDER BY. Рассчитывал, что вне зависимости от кол-ва данных для сортировки, память будет константная, время расти пропорционально.
В итоге и память и время растёт пропорционально.
ЧЯДНТ?
Для небольшого limit можно применить другой алгоритм сортировки, который выполнит только частичную "сортировку". У того же Postgres имеется такая фича.
Обсуждают сегодня