日期:2014-05-17  浏览次数:20596 次

求助:回复数、列表分页等几个常见数据库设计的问题
我建一个博客,简要的需求如下:在文章(Article)列表页要显示评论数量,文章列表要分页显示,评论(Comment)列表也要分页显示(评论列表通过ajax分页显示)。

因为没做过多少项目,因此想问几个问题:

1.像评论数量一般是作为article表的一个字段还是在执行的时候通过select count来实现呢?如果是通过select count实现那么每次在文章列表显示N条文章,那执行N条select count来查询回复数量会不会降低性能?

2.假设博客首页有许多文章列表块(如:周排行、日排行、最近点击排行、相关文章、最新文章、最新评论等),除了对一部分列表块(如周排行、日排行这些较少更新的部分)做缓存外,一次http请求执行有10条select语句(所有的select语句都已经经过优化)算不算多了呢?
------最佳解决方案--------------------
1、应该用一个字段存储 
2、原则上是尽量减少查询。但如果你的博客访问量并不大这都不算什么。
------其他解决方案--------------------
应该用1个字段存储,但最好做个初始化程序重新数数,否则时间长了可能会有误差。

如果不想用字段存,可以用缓存