我有一个CakePHP应用程序,我试图计算每个用户有多少个帖子。我还使用分页助手在其个人资料中显示所有用户的帖子。
我可以:
1)做一个find('all', $conditions)
请求所有用户的帖子,然后解析为我需要的计数(通过邮寄和检查它是否符合我期待的)。
2)多次请求find('count', $conditions)
请求,获得我需要的所有计数。
3)维护用户表中的新列以在创建帖子时跟踪这些数字(当涉及新帖子时,将涉及写入用户帐户)。
哪一个会是最好的选择?在CakePHP中find('count')的代价是多少?
3
A
回答
7
从数据库中获取所有记录并用PHP计算它们是非常浪费的废话。这正是数据库的用途。
A find('count')
只是做了一个SQL查询,如SELECT COUNT(*) FROM … WHERE …
,这真的是最快的方法。添加适当的条件以获得所需的计数,您可能需要刷新SQL以了解这些条件。
还有一个特殊的counter-caching,你可能想看看,如果你正在计算hasMany关系。
1
您应该修改查找调用以包含按条件组,以按类型聚合计数。请参阅这里获取更多信息:http://debuggable.com/posts/how-to-group-by-in-cakephps-new-release-part-2:4850d2c9-edbc-4f0e-9e0e-07d64834cda3
+0
有一个问题,它有关于分组和计数的有用信息:[CakePHP中的GROUP和COUNT()年龄](http://stackoverflow.com/questions/2141914/group-and-count-ages-in-cakephp ) – icc97 2011-10-01 07:41:31
相关问题
- 1. Java - HashMap.get()调用的代价是多少?
- 2. 函数调用的代价是多少?
- 3. 如何在CakePHP 3中使用COUNT(*)与find('list')?
- 4. Python - find()函数的代价
- 5. 在rails中渲染调用的代价是多少?
- 6. ST_GeomFromText的价格是多少
- 7. SqlCommandBuilder.DeriveParameters的价格是多少?
- 8. Rails Count多少条
- 9. 在find()中排序cakephp
- 10. Java中.getClass()的价格是多少?
- 11. C#字符串相等比较中StringComparison.CurrentCultureIgnoreCase的代价是多少?
- 12. GROUP和COUNT()在CakePHP中
- 13. cakephp find()问题
- 14. cakephp complex find
- 15. cakephp中的表列数count
- 16. 选择不同*查询的代价是多少
- 17. 加载环境运行Python脚本的代价是多少?
- 18. 404(文件未找到)错误的代价是多少?
- 19. 复制std ::函数的代价是多少?
- 20. 包含/导入指令的代价是多少?
- 21. 转置有向图的代价是多少?
- 22. AWS ECS的实际价格是多少?
- 23. IOS - reloadData的价格是多少?
- 24. jQuery函数的价格是多少?
- 25. 在服务器循环中调用时间(NULL)的代价是多少?
- 26. 在单个文件中有多少代码是多少?
- 27. clojure中count函数的时间复杂度是多少?
- 28. 相比于COM中的QueryInterface或C++中的dynamic_cast,“as”的代价是多少?
- 29. Django group by to find count
- 30. cakephp echo count
链接不工作。 – 2015-01-23 05:18:00
是的,链接大约5年过时了。我希望你不再使用Cake的1.x版本。不知道当前版本中的等效物是什么。 – deceze 2015-01-23 05:28:38
好的。当然,在新项目中使用2.x分支的最新版本。我将尝试查找当前的链接并更新此主题。 – 2015-01-23 05:51:09