网站访问数据库设计

时间:2015-05-05 07:25:47

标签: php mysql sql asp.net database

对于网站访问计数,您更喜欢哪种表格方案? enter image description here

对于方案a: 检查IP是否退出,我们将计数增加一步,不添加新的IP。

对于方案b: 我们每次都会添加新IP,为了报告,我们在应用程序中使用GroupBY。

1 个答案:

答案 0 :(得分:2)

第一个是完美的。

为什么?

  1. 请参阅,对于一位访问者,您只存储一条记录。访问者不能有多条记录,就像您有一个客户有多个地址一样。在这种情况下,地址是多个。但客户只会是一个。同样的情况也适用于您的示例。

  2. 您无需通过为同一用户/访问者多次添加相同的行来增加数据库大小。

  3. 对于 SELECT ,您需要获取多条记录,但大部分记录都相同。

    因此,如果您按照方式2,则为具有相同IP的一个访问者插入1000个条目。 如果您按照方式1进行操作,则有1个条目可以使用countVisited进行更新。现在告诉我是获取1000行更快还是获取1 ??

  4. 如果您想更新某些参数,您需要在1000条记录中搜索访问者记录,然后进行修改。你可以告诉自己哪种方式更好。