簡體   English   中英

CakePHP中有多貴('count')?

[英]How expensive is find('count') in CakePHP?

我有一個CakePHP應用程序,我試圖計算用戶每種類型的帖子有多少。 我也使用paginate幫助器在他們的個人資料上顯示所有用戶的帖子。
我可以:
1)對所有用戶的帖子進行find('all', $conditions)請求,然后解析我需要的計數(通過郵寄方式發送並檢查它是否與我正在查找的內容相匹配)。
2)使multiplie find('count', $conditions)請求,獲得我需要的所有計數。
3)維護用戶表中的新列以在創建帖子時跟蹤這些數字(放置將涉及在發布新帖子時寫入用戶帳戶)。
哪一個是最好的選擇?

從數據庫中獲取所有記錄並在PHP中計算它們是非常浪費的廢話。 這正是數據庫的用途。

find('count')只是創建一個SQL查詢,如SELECT COUNT(*) FROM … WHERE … ,這是最快的方法。 添加適當的條件以獲得所需的計數,您可能需要刷新SQL以了解這些條件。

還有特殊的反緩存 ,如果你計算hasMany關系,你可能想要查看。

您應該修改您的查找調用以按條件包含組以按類型聚合計數。 有關詳細信息,請參閱此處: http//debuggable.com/posts/how-to-group-by-in-cakephps-new-release-part-24850d2c9-edbc-4f0e-9e0e-07d64834cda3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM