Вот задачка всплыла интересная
Имеется форум, люли там пишут сообщения и т.д.
Например, пользователь "А" создаёт тему и некоторое количество других пользователей оставляет сообщения в ней.
А пользователь "Б" рядом с названием темы видит количество непрочитанных им сообщений. После захода в тему, количество непрочитанных сообщений сбрасывается, то есть для пользователя "Б" больше нет непрочитанных сообщений в этомй теме.
Пользователь "В" всё так же видит непрочитанные сообщения, заходит в тему и всё так же как у пользователя "Б".
Как это более правильно реализовать?
Мне в голову пришёл только такой вариант - при создании темы в отдельную таблицу forum_mention записывать всех пользователей сайта с указанием раздела/темы, как на скрине. Но это как-то... представьте, что у вас 5к пользователей и каждая тема это +5к
записей в таблицу.
Это как-то жирно. Неужели нет другого выхода?
Возможно есть специальные БД для таких данных, не знаю)
Но, как вариант, можно писать в отдельную таблицу из 3-х столбцов числа: user_id, topic_id, count
Будет занимать минимум места, на сколько это возможно