ASP.net页面中在前台写效率高,还是在后台写效率高?

usxue 2007-11-06 09:03:39
在我写asp.net页面的时候,用到了大量的div,而这些div中的数据一些是从数据库中读取来的。
1)如果我在页面中直接写代码,用SqlDataReader读取(有多条数据),来显示数据。
2)如果在codeFile中写代码,将数据库中的数据放到ArrayList中(预先定义好struct对象结构),然后在页面中显示出来。

请问各位,这两种的效率哪个要高点?为什么?谢谢!
...全文
217 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
changmaohai1980 2007-11-06
  • 打赏
  • 举报
回复
2楼说的是正解。
  • 打赏
  • 举报
回复
论效率第一种高一些。但看起来不清晰。第一种你只循环一遍,第二种循环两遍。
zhouxqwh 2007-11-06
  • 打赏
  • 举报
回复
SqlDataReader性能要优于第二种方案,少倒了一次手,而且内存利用利用率,因为数组是要再分配内存空间的.
但是第二种,就象你说的比较清晰点.
个人觉得如果数据不是很大的话,用第二种方案好.软件工程告诉我们,要清晰第一,效率第二.
usxue 2007-11-06
  • 打赏
  • 举报
回复
举一个具体的例子吧:
以论坛为例,首先楼主发了一个帖子,现在下面有很多的回复的。
而我现在要做的就是下面回复的数据是多条(20条一页,由存储过程来控制),如果我在页面中直接的写数据库的连接,
读取用循环while(dr.Read()){..这里面是div,用来显示数据..}。
现在我在后台定义好一个struct对象,也就是回复的数据对象结构(包括:用户名,用户Id,回复内容,回复时间等),同样,在我循环读取数据while(dr.Read()){..这里是将dr中的数据放到struct对象中,然后再放到ArrayList中..}。
最后在页面中我读取ArrayList对象来显示数据。

请问这两种方式哪种效率高点?谢谢!
wsj1983920 2007-11-06
  • 打赏
  • 举报
回复
SqlDataReader...这个能好一些,ls说的对
symbol441 2007-11-06
  • 打赏
  • 举报
回复
在我写asp.net页面的时候,用到了大量的div,而这些div中的数据一些是从数据库中读取来的。
1)如果我在页面中直接写代码,用SqlDataReader读取(有多条数据),来显示数据。
2)如果在codeFile中写代码,将数据库中的数据放到ArrayList中(预先定义好struct对象结构),然后在页面中显示出来。

请问各位,这两种的效率哪个要高点?为什么?谢谢!


就内存利用利用率而言,LZ的第二种方案较第一种当然要高,你把数据集中转存到ArrayList当中,也就等于在内存当中额外再分配了一块内存来存储你从数据库中取出的数据,较用SqlDataReader读取(有多条数据)直接绑定,显然就有了忽略掉了额外的开销,如果针对数据较长时候,第二种方案的劣势就更加的明显,所以具体而言,第一种方案要优于第二种方案.
usxue 2007-11-06
  • 打赏
  • 举报
回复
SqlDataReader只是读取数据
我在前台和后台都是用SqlDataReader来读取数据,此数据是多条数据。
后台中我预先定义数据对象(struct类型),将读取的数据赋值给struct对象,最后统一放到ArrayList中。
然后在页面中通过读取ArrayList来将数据显示出来。

我觉得在后台写的话,就是比较清晰点,但我担心的是效率问题!
liuyun1987 2007-11-06
  • 打赏
  • 举报
回复
两种方法的效率都差不多...
看你自己喜欢用那一种方法显示数据..
anncesky 2007-11-06
  • 打赏
  • 举报
回复
SqlDataReader肯定,也省性能

不过现在讲究使用框架,遇到这种情,一般protected 实体对象

然后一个一个写在ASPX页上
sesea 2007-11-06
  • 打赏
  • 举报
回复
我觉得SqlDataReader速度快,少倒了一次手。
虽然你用数组,但程序等于是多操作了一次。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧