对于网站访问量统计,您更喜欢哪种表格方案?
对于方案a: 检查 IP 是否退出,我们将计数增加一级并且不添加新 IP。
方案b: 我们每次都添加新的 IP,并在我们的应用程序中使用 GroupBY 进行报告。
最佳答案
第一个是完美的。
为什么?
看,对于一位访问者,您只存储一条记录。一个访客不能有多个记录,就像一个客户有多个地址一样。在这种情况下,地址是多个。但客户将只有一个。同样的情况也适用于您的示例。
您无需通过为同一用户/访问者多次添加同一行来增加数据库大小。
对于SELECT,您将需要获取多条记录,尽管大多数记录都是相同的。
因此,如果您按照方式 2 进行操作,则会为具有相同 ip 的一位访问者插入 1000 个条目。 如果您按照方式 1 进行操作,您将有 1 个条目使用 countVisited 进行更新。现在告诉我是获取 1000 行更快还是获取 1 行??
如果你想更新一些参数你需要在1000条记录中搜索访问者的记录然后修改它。您可以告诉自己哪种方法更好。
关于php - 网站访问数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046645/