@kirill-93

Как оптимизировать sql запрос?

Есть таблица новостей, таблица пользователей и таблица, куда записывается какой пользователь какую новость просмотрел.
На сайте доступна функция сортировки новостей по непрочитанности. В этом случае запрос выглядит так:
SELECT * FROM `news`
LEFT JOIN `new_user` ON `new_user`.`new_id` = `news`.`id` AND `new_user.user_id` = $user_id
ORDER BY `new_user`.`id` DESC

При большом количестве новостей, запрос выполняется около 3х секунд.
Что можно придумать, чтоб ускорить его?

48a1c7fe88f94b30976deeebb49a2f3f.jpg
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1) убедитесь что в new_user есть индекс (new_id, user_id, id)
2) попробуйте переписать через select from new_user join news
3) попробуйте переписать как 2 запроса без join
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы