【发布时间】:2012-01-18 00:09:34
【问题描述】:
我想使用 PHP 为我的网站添加一个独特的计数器。此计数器将在数据库中保存每个页面的访问者 IP。我有一个这样的数据库结构:
表hits 有两列:
ip
page_url
我的问题是:在 PHP 文件中获取访问者的 IP 后,哪个更好(对于性能)?
- 检查 IP 地址是否已在数据库中。当还没有在数据库中时添加它
- 只需添加所有访问者 IP(无需重复检查),然后获取相关页面的不同 IP 即可获得唯一点击数?
【问题讨论】:
-
为了性能,最好稍后解析 apache 的访问日志,甚至可能在其他服务器上,让计数有所滞后,而不是试图跟上请求。
-
我只有一台服务器。而且我网站的流量不是很多。
-
在这种情况下,只需在
(ip,page_url)上创建一个UNIQUE索引,然后执行一个INSERT IGNORE ... -
嗯,非常感谢。这不会导致错误?
-
避免在写繁重的表上不必要的索引!请改用主节点。
标签: php mysql database counter