Извиняюсь, если об этом уже спрашивали, но есть ли способ, я могу оптимизировать этот запрос, чтобы он выполнялся быстрее.В настоящее время это занимает около 2 секунд, что, хотя и не так много, это самый медленный запрос на моем сайте, все остальные запросы занимают менее 0,5 с.
Вот мой запрос:
SELECT SQL_CALC_FOUND_ROWS MAX(images.id) AS maxID, celebrity.* FROM images
JOIN celebrity ON images.celeb_id = celebrity.id
GROUP BY images.celeb_id
ORDER BY maxID DESC
LIMIT 0,20
Вот объяснение:
1 SIMPLE celebrity ALL PRIMARY NULL NULL NULL 536 Using temporary; Using filesort
1 SIMPLE images ref celeb_id celeb_id 4 celeborama_ignite.celebrity.id 191
Я в недоумении от того, как улучшить производительность в этом запросе.Я не очень знаком с MySQL, но знаю, что он медленный, потому что я сортирую данные, созданные с помощью MAX (), и у них нет индекса.Я не могу не разобраться с этим, поскольку он дает мне необходимые результаты, но есть ли что-то еще, что я могу сделать, чтобы предотвратить замедление запроса?
Спасибо.