+ -
当前位置:首页 → 问答吧 → 当一个页面涉及到很多查询的时候怎么办?

当一个页面涉及到很多查询的时候怎么办?

时间:2011-10-22

来源:互联网

在每一个csdn的博客里,在左边的导航栏里有一个文章分类的列表,每个分类名称后面跟了一个数字,代表属于这个分类的文章总数,例如这个博客中,http://blog.csdn.net/newhappy2008,文章分类如下显示:

数据库(68) 
服务器(19) 
J2EE企业应用(12) 
Weblogic中间件专题(3) 
Ajax Web技术(57) 
架构设计(174) 
杂文(10) 

我想这个大概是2种方式实现吧,一是在分类表里有个count的字段,记录了每个分类的文章总数,增删文章时自动给count加减1。如果这样实现,是否需要用到存储过程,好像这样性能比较好?

另一种方式就是用类似这么一句查询来获得文章数量
SQL code
select category_id from article where category_id=x;

那么要是有几十个分类,那岂不是每次打开一个页面都要几十次查询?

请问这个功能一般都是怎么实现的?

作者: amsta   发布时间: 2011-10-22

不一定啊,看数据库表的设计方式

如果是设计一个表是统计表,字段有文章分类,文章总数,这样不就一个sql了么。。
还是看数据库设计

作者: jnhcd   发布时间: 2011-10-23

那还是属于第一种方式,增删完需要再操作文章数量一次。
为了一个统计的字段,需要另建一个表吗?我初学编程,不清楚业界是怎么设计的。我觉得把文章总数并入分类表应该比较简单吧?

作者: amsta   发布时间: 2011-10-23

可以写一个数据库视图进行查询…

作者: miemie1320   发布时间: 2011-10-23