【发布时间】:2012-01-17 20:38:16
【问题描述】:
我需要保留查看过某条内容的user_ids 的列表,以计算唯一用户查看次数。 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 个额外的查询)。
或者...
每次我添加user_id 时,我是否应该将viewed 字段添加到我的内容表和unserialize() / serialize() 数组? json_encode() 是另一个类似的选项,它在大型数据集上似乎更快。
对于成长中的网站来说,哪个选项最快/最具可扩展性?感谢您的帮助!
【问题讨论】: