在PHP中处理用户统计信息的最佳方法是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在PHP中处理用户统计信息的最佳方法是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1539字,纯文字阅读大概需要3分钟。
内容图文
![在PHP中处理用户统计信息的最佳方法是什么](/upload/InfoBanner/zyjiaocheng/795/e811ef081d5b47589ba56842cb0b709f.jpg)
我如何处理PHP中的用户统计信息?
我可以选择两种明显的方法.两者都有缺陷.
>必要时选择MySQL COUNT.这里的缺陷是,如果你要计算很多行,那么它可能会很慢,特别是当你必须在看似每个页面加载时这样做.好处是计数总是正确的.
>将用户统计信息存储在统计信息表中.这里的缺陷是,无论何时进行更改,您都必须不断更新它,如果您需要批量更新,这会使代码过于复杂.好处是,为执行计数而不是为用户选择单行统计数据会很快.
我有点“呃”的另一个可能的方法是将一个作业存储在队列中(并让Laravel处理它).这些作业将使用其他表更新必要的统计信息,以便正确同步.其好处是它可以减轻Web服务器的负担,并且缺陷是用户可能会得到不正确的统计信息.当您的实际数字变化很大时,您自己的朋友列表不希望有15个朋友和7个朋友请求.
我已经详细介绍了我提出的方法,我不确定在为用户提供正确结果方面最好的是什么,以及平衡速度和简单性.如果我正在使用COUNT方法,那么如果要更新统计信息,我可能会缓存结果并删除缓存记录,但我想在EACH用户的缓存表中存储一行有点矫枉过正.也许这不是一个真正的问题,只要数据库有足够的空间,但无论如何,通过大量缓存表进行搜索肯定会很慢?
也许有人可以给我最好的选择来处理用户统计信息.我的头在旋转,因为它过度思考一切,我需要穿上直线和狭窄.
提前致谢.
解决方法:
在计划应用程序的这一部分时,不要夸大COUNT(*)的成本.如果表上有正确的索引,行计数非常快.事实上,如果你的表是MyISAM,它的复杂度可能是O(1).
例如,如果您在用户上有索引SELECT COUNT(*)AS num FROM friend WHERE user =’mickey@disney.com’将非常快.
轻松构建您的应用程序.当你拥有一万个用户时,你可以重新设计这种统计计算,使其更加精细和高效.当您拥有更多用户时,如果您提供近似结果,则不会那么明显.
但要小心.在大多数情况下,COUNT(*)比COUNT(表达式)快得多. *允许MySQL避免评估每一行.
内容总结
以上是互联网集市为您收集整理的在PHP中处理用户统计信息的最佳方法是什么全部内容,希望文章能够帮你解决在PHP中处理用户统计信息的最佳方法是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。