我有一个问题,我有反对的意见件,将不胜感激其他意见。MySQL:用户的“意见”的表结构
我的网站有用户,每个用户都有一个user_id。这些用户可以查看产品,并且需要跟踪查看特定产品的用户的独特实例。要记录在一个单独的意见表的视图,我目前有两个选择:
选项1:
的view_id(INT,PK)| user_id(INT,FK)| product_id(INT,FK)| view_date
...并在两个中间列上创建一个唯一约束,以便使用ON DUPLICATE KEY更新。如果相同的视图已经存在,我只更新view_date。如果不是,我写一个新的行。
选项2:
user_product(VARCHAR20,PK)| view_date
...将两个ID合并到一个带有分隔符的VARCHAR中,并使用主键列以ON DUPLICATE KEY方式更新,方法与上面相同。
该结构应该适应约。百万独特的意见。任何想法可能会更好或更糟,为什么?非常感谢提前。
编辑: 感谢您的答案,似乎有共识。倾向于同一方,但只需要保证。
是的......虽然这是我的理解REPLACE“花费”一个自动增量INT ID(因为它是删除然后重写),所以PK列数据类型需要适应这个。 – Tom 2010-01-10 17:26:50