Можно ли ускорить этот запрос?
По доброму, если вам нужна такая информация, то сумму для каждого пользователя необходимо считать в отдельной таблице (или таблице пользователей) и пересчитывать её каждый раз, когда добавляется новая запись в таблицу table. Тогда пересчет будет происходить для каждого пользователя отдельно и только тогда, когда что-то меняется.
Альтернативный вариант, но менее эффективный - создать виртуальную таблицу для запроса:SELECT table.user_id, SUM(table.value) as value_sum FROM table GROUP BY table.user_id
И уже из неё делать выборку с сортировкой и лимитом. Такую таблицу MySQL будет пересчитывать сама при каких-либо изменениях в таблице table, но я не уверен на сколько это будет быстро работать.
индексы делал?
план запроса посмотри.
если можно итерациями счиатать и сохранять в промежуточной таблице.