我的网站中有一个部分,我需要计算特定帖子的注释数量。我实际上已经构建了一个函数来检索注释数据库表中的所有数据(函数getComments)。
注释DB表结构是:id(PK)| authorId | datetime | postId |文本
现在,因为我只需要计算它们(评论),我想知道在服务器资源/冗余方面是否更好用:
$comments=new Comment();
$comments->getComments();
echo count($comments);
或者我最好建立另一个功能(除了'getComments'),如:
function countComments($postid)
{
//count comments per post
}
感谢
卢卡
答案 0 :(得分:7)
在数据库中计算您的评论更有效,因为
假设你使用Zend_Db这样的东西应该可以工作:
$query = $db->select()->from('comments', 'count(*)');
$count = $db->fetchOne($query);
代码冗余不是问题恕我直言,这只是一两行。
答案 1 :(得分:3)
我总是更喜欢使用一个单独的函数,它使用MySQL来计算帖子。因为如果您只需要计数,则不必请求整个行集,这样可以提高性能并节省资源。
答案 2 :(得分:1)
在其他帖子中查看我的回答:Zend_Db: How to get the number of rows from a table?