我有一個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