【发布时间】:2014-02-06 07:47:03
【问题描述】:
我想存储特定页面的查看次数和点赞次数。
im 使用的页面 url 是唯一键(index.php),
在我的表中,我有以下列
普通表
id | page name | views | likes | timestamp
1 | index.php | 5 | 3 | 6-2-2014
2 | abount.php | 15 | 77 | 6-2-2014
查看表
id | page name | date | ip
1 | index.php | 6-2-2014 | 127.0.0.1
2 | index.php | 6-2-2014 | 127.0.0.2
3 | index.php | 6-2-2014 | 127.0.0.3
4 | index.php | 6-2-2014 | 127.0.0.4
5 | index.php | 6-2-2014 | 127.0.0.5
对于喜欢的表
id | page name | date | ip
1 | index.php | 6-2-2014 | 127.0.0.1
2 | index.php | 6-2-2014 | 127.0.0.2
3 | index.php | 6-2-2014 | 127.0.0.3
我在这里所做的意思是,每次我在计数表中插入新记录时,我都会增加公用表中特定页面的计数,
1) 在这里,我只允许一次从一个 IP 点赞特定页面。
2) 我需要知道我如何获得每日浏览量和点赞报告。
我知道我有维护复杂的表,这种方法的任何简化
对不起我的英语
【问题讨论】:
-
查看表和like表应该有来自普通表的foreignKey“page_id”。并且应该删除“page name”字段
-
是的,照@nedstark 说的做,否则冬天会来!尽可能使用外键而不是 varchar。您正在不必要地复制数据并在数据库中丢失大量空间,更不用说选择速度慢了。
-
不,你把东西放在单独的盒子里。你不会因为也许有一天你会烤蛋糕而把牛奶和鸡蛋放在同一个碗里。