План запроса, пожалуйста :)
Результат запроса полностью помешается в память? peak_memory_used (из EXPLAIN filesort_summary) больше чем sort_buffer_size из настроек базы?
Запрос похоже никак не оптимизировать. Вот обсуждение подобной проблемы
https://stackoverflow.com/questions/75306623/order...
Надо или тюнить mysql или думать над каким-то кешированием/промежуточными расчетами (хотя пока не вижу что тут можно кешировать).