@kirill-93

Как лучше фильтровать данные?

Есть лента новостей, каждый день добавляются новые. Человек заходит и читает, мы сохраняем в базу прочитанные им новости.
Вопрос: как в таком случае эффективнее и правильнее фильтровать новости по "прочитана/не прочитана". Сейчас каждая прочитанная новость записывается в базу, а непрочитанные выбираются примерно так:
select * from news where id not in (select id from viewed)

Новостей много, просмотренных новостей тоже много. Плох ли такой подход или все ок? База на MySQL.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
UPDATE TABLE usersSettings SET lastViewed=NOW() WHERE userID = ...;
SELECT * FROM news WHERE newsTime > (SELECT lastViewed FROM usersSettings WHERE userID = ...) ;
Можно как-то так.
Ответ написан
Immortal_pony
@Immortal_pony Куратор тега MySQL
"много" - это сколько? Если речь не о миллионах, то пойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект