Мне нужно отобразить последние действия пользователей на сайте.
Отправленные обзоры, загруженные изображения / видео, проголосовавшие статьи и так далее ...
У меня есть две таблицы:
' user_activity ' таблица со столбцами «userID», «datetime», «ActivityID» и «externalID».
' деятельность ' таблица с 'ActivityID' и 'активность'.
Допустим, что 'activityID' = 4, тогда я знаю, что он снова ссылается на загруженное видео (просматривая таблицу «действий»), тогда я также знаю, что externalID ссылается на «videoID» из третьей таблицы под названием « видео.
То же самое для каждого вида деятельности, если его обзор, то externalID снова ссылается на "reviewID" в таблице "обзоры".
При отображении активности пользователя я хочу не только сказать, что пользователь загрузил изображение, но также показать загруженное изображение или видео или что-то еще.
Итак,
При запросе последнего действия пользователя я могу получить данные двумя способами:
1) Получите данные из таблицы 'user_activity', а затем сделайте еще один запрос для каждой строки во внешнюю таблицу (обзоры, видео, изображения ...) в зависимости от 'activityID'.
2) Создайте большое ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ из всех таблиц (user_activity, обзоры, видео, изображения ...) вместе, а затем используйте только соответствующий столбец на основе 'activityID'.
Таким образом, способ 1 вызовет МНОГО запросов к БД, потому что мне нужен отдельный запрос для каждой строки активности. И путь 2 приведет к БОЛЬШОМУ СОЕДИНЕНИЮ.
Любые полезные советы по PROS CONS и методам лучше ??