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

当一个页面涉及到很多查询的时候怎么办?
在每一个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;

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

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

------解决方案--------------------
不一定啊,看数据库表的设计方式

如果是设计一个表是统计表,字段有文章分类,文章总数,这样不就一个sql了么。。
还是看数据库设计
------解决方案--------------------
可以写一个数据库视图进行查询…