什么样的数据库结构更适合基于数据库的唯一命中计数器系统


What database structure is better for database based unique hit counter system?

我想使用PHP为我的网站添加唯一的点击计数器。所以这个计数器将保存数据库中每个页面的访问者IP。我对这样的数据库结构有一个想法:1个表(hits)和2列(ippage_url)。因此,我可以使用简单的SQL查询获得不同的IP,但我担心性能。这是为每个页面获得独特点击量的好方法吗
最后,什么样的数据库结构更适合基于数据库的独特命中率系统

编辑:
我还有第二个问题。在PHP文件中获取访问者的IP后,最好控制数据库中是否不是这个IP,然后将其添加到数据库中,还是只添加所有访问者的IP,然后为相关页面获取不同的IP,以获得唯一的点击数?

提前谢谢。

这个模式就足够了(尽管如果可以将Redis或其他基于内存的数据存储添加到架构中,使用它会更快)。

使用PHP的ip2long(在存储IP地址之前)和long2ip(在检索IP地址时)将IP地址存储在基32中,并将其作为IP地址字符串检索-这允许更快的检索(整数在查询子句、组等中比字符串更快)。

我建议使用redis数据库,它提供了开箱即用的功能,而且速度极快。尽管为此您需要维护这个额外的数据库。

对不起,我的回答不是很直接地回答你的问题,但以防你对其他技术持开放态度。