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

请问下.net是一次性取所有数据合适还是分多次取数据合适?
 我知道如果多次取数据,就是多次连接关闭数据库,比较消耗资源。可是比如做一个论坛,要取
1、帖子列表。2、用户信息。我个人更倾向于分两次取数据,这样结构比较清晰

            MvcCardManager mvccardm=new MvcCardManager();//第一个业务层取帖子列表
            List<CardInfo> cardlist = mvccardm.CardList(1, moduleid, 0, ref Count);
            MvcUserVipManager mvcuservipm = new MvcUserVipManager();/业务取用户信息
            VipAtModule vipatmodule =                       mvcuservipm.GetVipATModuleInfo(moduleid,Session["username"].ToString());

------解决方案--------------------
两次,
1帖子列表,分页取
2用户信息,根据用户id取
------解决方案--------------------
数据量大的话分页去取,数据量小一次性取
------解决方案--------------------
我也倾向于两次查询

帖子分页查询 首次只查询第一页的
------解决方案--------------------
两次,
1帖子列表,分页取 ;你论坛首页显示列表,也可以从缓存里取
2用户信息,根据用户id ajax异步取,不看不取,点击查看在加载数据
------解决方案--------------------
先评估数据量。

分页,还是一次性取下来,都是看需求、以及数据量来定的。没有哪种技术是最终解决办法。
------解决方案--------------------
引用:
我知道如果多次取数据,就是多次连接关闭数据库,比较消耗资源。可是比如做一个论坛,要取
1、帖子列表。2、用户信息。我个人更倾向于分两次取数据,这样结构比较清晰
C# code?1234            MvcCardManager mvccardm=new MvcCardManager();//第一个业务层取帖子列表            List<CardI……


程序运行起来,开关数据库是最轻的性能消耗环节。
------解决方案--------------------
合理的设计也很重要,尽量减少服务器的请求。一些信息可以登录的时候读取存入缓存中,有些情况分部去取,先把主数据呈现出来,次要信息可以再次ajax去取以减少一次数据拥堵