标签:statistics sql mysql php
例如,在拥有1.000.000行的大型数据库中,使用IP存储用户访问并计算唯一用户的最佳数据库模型是什么?
SELECT COUNT(DISTINCT ip) FROM visits
但是使用1.000.000不同的ip可能是一个缓慢的查询.缓存不会返回实数.
大型统计系统如何计算不重复造访?
解决方法:
拥有另一个仅具有IP列和UNIQUE索引的MyISAM表.您将立即获得适当的计数(MyISAM缓存表中的行数)
[在评论后添加]
如果您还需要计算每个IP的访问次数,请再添加一列visitCount并使用
INSERT INTO
visitCounter (IP,visitCount)
VALUES
(INET_ATON($ip),1)
ON DUPLICATE KEY UPDATE
SET visitCount = visitCount+1
标签:statistics,sql,mysql,php 来源: https://codeday.me/bug/20191105/1998379.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。