如果有个Article,Comment,Picture表,我要一次从中取出某个用户的各信息条数量(如上图中的),我是在数据库中写一个存储过程。
1、对每个表写一个sql语句后在.net中用getdataset(),这样就成了3个datatable,再进行数据绑定;
2、对每个表写一个sql语句,在数据库存储过程中新建一个表,得到
Name(nvarchar) Num(int)
Article 3244
Comment 2341
Picture 1234
在dataset中只有一个datatabel表后返回进行绑定。
哪个更好些呀?
文章,评论,图片,明显这三种对象的操作数量是:查询>插入>更新?=删除
所以最好是另外存放统计数据以供大量的查询读取操作,不应实时统计。
另外因为插入和删除记录的次数明显少到查询次数,建议使用触发器在操作后更新统计数据,这样就可以最大限度的保持同步。
建议把这些统计数据,另建一个表来保存,虽然不能同步,但这样效率高,不然,你如果用户多,还要实时去计算记录数量,这个是很费的。