从数据库中选择并用软件限制,或限制数据库(mysql)

时间:2012-02-20 00:43:00

标签: php mysql optimization query-optimization

我正在开发一个社交网络平台,允许用户对帖子发表评论。

我想知道是否应该为每个帖子选择所有评论(加载页面时),然后使用软件将其删除,或者我应该使用mysql查询限制结果。 / p>

这种困境的原因是,mysql自己进行优化和查询/结果缓存,如果我限制输出,查询缓存将变得无用(或者可能不是?),但如果我不这样做,我会有一个软件开销,以及获得比所需更多的数据。

这个问题可能听起来像MYSQL and the LIMIT clause,它引用了限制1,但在我的情况下,结果的数量可以是0到3000(甚至更多)。限制通常为3,但如果用户想要查看更多评论,则会有所不同。

我应该提一下,查询确实有一个ORDER BY id DESC子句和一个SELECT *(它必须是)。基本上,SELECT * FROM表WHERE postid ='$ variable'ORDER BY id DESC。

我还要提到该软件运行良好超过2年,但我正在优化它。所以,任何帮助都会很棒。

编辑: TL; DR 主要问题是:是否有一个数据库查询,然后使用软件来部分使用它比请求所需的确切数据(带限制条款)更好?

1 个答案:

答案 0 :(得分:0)

如果两种方法都正常,我建议让数据库进行限制。

这将允许您将一些处理移动到数据库,因此将来分离和增强服务器将更容易。

想象一下,如果评论气球的数量。只需将数据库移动到更强大的服务器上,性能就会提高。