哪个性能会更高。。。。

paleyyang 2007-06-01 02:09:17
public IList<ModelRegUser> GetData()
{
SqlConnection myConn = new SqlConnection(GetConnString());
myConn.Open();
SqlCommand myCmd = new SqlCommand("SELECT * FROM RegUsers",myConn);
SqlDataReader myDr = myCmd.ExecuteReader();
IList<ModelRegUser> RegUserList = new List<ModelRegUser>();
while (myDr.Read())
{
ModelRegUser mm = new ModelRegUser(myDr["username"].ToString());
RegUserList.Add(mm);
}
ModelRegUser ma = (ModelRegUser)RegUserList[5];
return RegUserList;
}

或着我直接返回一个有一百条数据的DataTable哪个的性能会更高?
...全文
190 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
绝代坏坏 2007-06-01
  • 打赏
  • 举报
回复
你上面方法只是面向对象程度高了,对性能来说应该是下降了。因为最后你还是要用dr。
ERPCoder 2007-06-01
  • 打赏
  • 举报
回复
用SqlDataReader来读取性能更高...
terry_12 2007-06-01
  • 打赏
  • 举报
回复
实践证明一切,为何不自己试验一下呢.
hxshanji 2007-06-01
  • 打赏
  • 举报
回复
按MSDN说法:
Fill 方法使用 DataReader 对象来隐式地返回用于在 DataSet 中创建表的列名称和类型以及用于填充 DataSet 中的表行的数据。
所以Dataset还是通过DataReader读取填充然后将数据的内存驻留的.

http://msdn2.microsoft.com/zh-cn/library/bh8kx08z(VS.80).aspx
sanmao198 2007-06-01
  • 打赏
  • 举报
回复
datareader是只读的,向前,面向连接的数据流,类似于游标,读取速度快

赞同此说法/
amandag 2007-06-01
  • 打赏
  • 举报
回复
DataReader
真相重于对错 2007-06-01
  • 打赏
  • 举报
回复
得到datatable 无非通过两种方法
while( dr.reader() )
{
DataTable dt =..
DataRow dr = dt.newrow
设置 dr 各项
dt.rows.add..
}
或者
dataadpater.Fill()
第一种就不用说了吧
第二种反汇编一下dataadpater,会发现还是用的第一种方法,
所以不如直接reader
V68V6 2007-06-01
  • 打赏
  • 举报
回复
jf
babyrockxray 2007-06-01
  • 打赏
  • 举报
回复
datareader是只读的,向前,面向连接的数据流,类似于游标,读取速度快
gcaling2006 2007-06-01
  • 打赏
  • 举报
回复
sqldatareader只做读取操作,因此会较快,特别数据量大时。
zeng_c_h 2007-06-01
  • 打赏
  • 举报
回复
一百條就無所謂了﹐感覺不出來。
MSDN告訴我們﹕使用SqlDataReader性能較優。
MaWenkun 2007-06-01
  • 打赏
  • 举报
回复
你上面那个应该高点吧,但不确定。
Red_angelX 2007-06-01
  • 打赏
  • 举报
回复
hdt老大,能解释下为何吗?
真相重于对错 2007-06-01
  • 打赏
  • 举报
回复
reader

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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