对于网站访问计数,您更喜欢哪种表格方案?
![enter image description here](https://istack.dev59.com/veITX.webp)
方案a: 检查IP是否存在,我们将计数增加一步,不添加新的IP。
方案b: 每次添加新的IP,并在我们的应用程序中使用GroupBY进行报告。
第一种方法是完美的。
为什么?
因为对于一个访客,您只存储一条记录。不能有多个记录与一个访客相关联,就像一个客户有多个地址一样。在这种情况下,地址是多个的,但是客户只有一个。您的示例也适用于此情况。
您不需要为同一用户/访客添加相同的行来增加数据库大小。
对于SELECT,您需要获取多个记录,尽管大多数记录都是相同的。
因此,如果您采用第二种方式,您将为具有相同IP的一个访客插入1000个条目。 如果您采用第一种方式,您有1个条目,该条目将与countVisited更新。现在告诉我,获取1000行更快还是获取1行更快?
如果要UPDATE某个参数,则需要在1000个记录中搜索访客的记录,然后进行修改。您可以自己判断哪种方式更好。
bigint
来计算单个人查看页面的次数,那么我认为您高估了您网站的吸引力。 :p - TZHX