@apptimeru

Какую структура таблицы, или таблиц создать под различную активность на сайте?

Добрый день, необходимо на странице профиля пользователя выводить ленту его последней активности (например 20 событий), события типа:
  1. пользователь добавил такую ту новость (выводится миниатюра, заголовок и ссылка)
  2. пользователь оставил комментарий к такому то посту ()
  3. Пользователь добавил в друзья другого пользователя и т.д.


Так как активности совершенно разного характера и должны выводить совершенно разные типы активности с разным набором данных, не могу придумать оптимальную структуру. Можно конечно доставать 20 последних данных из разных таблиц по userid, но это тьма запросов, и что-то мне подсказывает что это плохой вариант.

Самое оптимальное что придумал это создать таблицу и в нее записывать userid, тип активность и контент активности например в виде json строки. Но единственная загвоздка в том, как хранить строго 20 строк для одного пользователя. Можно конечно сразу после добавления активности, сделать 2 доп запроса вытащив количество строк активности одного пользователя и если их больше 20 то удалить лишнее, но тогда единовременных запросов может быть слишком много. В общем прошу у вас совета, как проектируют подобные действия.
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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