我有一個問題,我有反對的意見件,將不勝感激其他意見。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