У меня есть веб-страница, похожая на Youtube, где пользователи загружают и смотрят видео.
Я хотел бы добавить список "самых популярных видео на этой неделе" на мою страницу. Но этот список должен содержать не только видео, загруженные на предыдущей неделе, но и все видео.
В настоящее время я записываю просмотры в столбце, поэтому у меня нет информации о том, когда просматривалось видео. Поэтому сейчас я ищу решение о том, как записать эти данные.
Первый - самый очевидный (и правильный, насколько мне известно): есть отдельная таблица, в которую вы вставляете новую строку каждый раз, когда хотите записать новый вид (сохраняя идентификатор видео и метка времени). Меня беспокоит, что я быстро получу огромные объемы данных в этой таблице, а запросы, использующие эту таблицу, будут чрезвычайно медленными (мы получаем около 3 миллионов просмотров в месяц).
Второе решение не такое гибкое, но более простое для базы данных. Я бы добавил 7 столбцов в таблицу "videos" (по одному на каждый день недели): views_monday, views_tuesday, views_wednesday, ...
И увеличивайте значение в правильном столбце в зависимости от дня, в котором оно находится. И я бы сбросил столбец текущего дня в 0 в полночь. Тогда я мог бы легко получить самые просматриваемые видео недели, суммируя эти 7 столбцов.
Как вы думаете, следует ли мне беспокоиться о первом решении или второго будет достаточно для моего случая? Если у вас есть лучшее решение, пожалуйста, поделитесь!
Я использую MySQL.