Database design 论坛设计建议

Database design 论坛设计建议,database-design,forum,Database Design,Forum,我正在用php编写一个论坛脚本,我正在尝试用最好的方式来标记每个用户读过或没有读过的主题 一旦用户登录到论坛,我可以根据他上次登录的时间来标记读过或没有读过的内容,这很好,现在什么是标记每个用户单击的每个主题的最佳方法 我想添加cookie,但这会导致安全问题,可能不准确,特别是如果用户从另一台机器/浏览器登录 我还考虑为每个用户单击的每个主题添加一个特殊的数据库表,由于cpu使用率和数据库增长的增加,这对我来说也不好 谁有更好的建议/解决方案 谢谢。您可以保留一个单独的数据库表,以便为每个用户

我正在用php编写一个论坛脚本,我正在尝试用最好的方式来标记每个用户读过或没有读过的主题

一旦用户登录到论坛,我可以根据他上次登录的时间来标记读过或没有读过的内容,这很好,现在什么是标记每个用户单击的每个主题的最佳方法

我想添加cookie,但这会导致安全问题,可能不准确,特别是如果用户从另一台机器/浏览器登录

我还考虑为每个用户单击的每个主题添加一个特殊的数据库表,由于cpu使用率和数据库增长的增加,这对我来说也不好

谁有更好的建议/解决方案


谢谢。

您可以保留一个单独的数据库表,以便为每个用户(如果用户未阅读,则无记录)保存每个主题X的记录,然后在30天后自动假定该主题已阅读,这允许您删除此表以防止过度增长。保持这样一个单独的表是相当标准的做法,除非这个论坛非常受欢迎(我想总是计划受欢迎),否则我怀疑你会遇到空间或CPU限制


例如,表
topics\u read
中有
user\u id
topic\u id
when
字段。每行存储两个整数和一个日期只需几个字节。

更好的建议:不用麻烦了。论坛软件是一个已解决的问题,有大量现成的代码可供使用。让论坛软件在任何事情都可能发生的环境(网络)中稳健地工作需要数年的现场经验。请告诉Stack Overflow团队。让我们一起玩吧,假设他这样做是为了教育学生。