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