У меня есть вопрос, на который я дал несколько советов, буду признателен за дополнительные мнения.
На моем сайте есть пользователи, у каждого из которых есть идентификатор_пользователя. Эти пользователи могут просматривать продукты, и мне нужно отслеживать уникальные случаи, когда пользователи просматривают определенные продукты. Чтобы записать представление в отдельную таблицу представлений, у меня есть два варианта:
ВАРИАНТ 1:
view_id (INT, PK) | user_id (INT, FK) | product_id (INT, FK) | view_date
... и создайте уникальное ограничение для двух средних столбцов для легкого обновления с помощью клавиши DUPLICATE. Если такой же вид уже существует, я просто обновляю view_date. Если нет, я пишу новую строку.
ВАРИАНТ 2:
user_product (VARCHAR20, PK) | view_date
... объединить два идентификатора в VARCHAR с разделителем в середине и использовать столбец первичного ключа для легкого обновления с помощью ключа DUPLICATE, как описано выше.
Конструкция должна вместить до прибл. миллион уникальных просмотров. Есть мысли о том, какой вариант может быть лучше или хуже, и почему? Большое спасибо заранее.
EDIT:
Спасибо за ответы, похоже, что есть консенсус. Наклонился в ту же сторону, но просто нуждался в успокоении.