我需要保留一個列表user_id
s已經查看了一段內容來計算唯一的用戶視圖。 user_id
是INT(10)
字段。高效地存儲一堆外鍵(序列化與新表)
我可以用user_id
,content_id
和viewed
創建一個表格,並在用戶每次查看內容時添加一行,但這看起來很慢。對於每一塊內容的用戶的意見,我會查詢類似
SELECT COUNT(*) FROM viewed_table WHERE content_id = $content_id;
得到的意見的金額,然後
SELECT COUNT(*) FROM viewed_table WHERE user_id = $user_id AND content_id = $content_id;
,看是否用戶已經查看過這個內容,如果沒有,則插入一行。 (每次用戶查看某個內容時2或3個額外的查詢)。
OR ...
如果我一個viewed
字段添加到我的內容表和數組每次我添加了一個user_id
unserialize()
/serialize()
? json_encode()
是另一個類似的選項,在大型數據集上似乎更快。
哪個選項對於正在發展的網站來說是最快/最具擴展性的?謝謝你的幫助!