是SqlDataReader还是dataset比较快速呢

bzscs 2007-01-14 12:22:45
只是读取信息然后循环处理,不用修改保存;数据量比较多,大概要生成相应的几万个文件

★★★有时候似乎reader快一些★★★
SqlCommand sqlcom = new SqlCommand();
sqlcom.CommandType = CommandType.Text;

sqlcom.CommandText = strSql
sqlcom.Connection = thisConnection;

SqlDataReader objReader = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);

while(objReader.Read())
{
......
}

★★★有时候dataset比reader还块★★★
SqlCommand sqlcom = new SqlCommand();
sqlcom.CommandType = CommandType.Text;

sqlcom.CommandText = strSql;
sqlcom.Connection = thisConnection;

SqlDataAdapter sqlDA = new SqlDataAdapter();
sqlDA.SelectCommand = sqlcom;

DataSet objDataSet = new DataSet();
sqlDA.Fill(objDataSet);

for(i =0;i<objDataSet.Tables[0].Rows.Count;i++)
{
......
}
...全文
445 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
answer_lq 2007-01-30
  • 打赏
  • 举报
回复
和数据库的选用有关么?
qingzi_wei 2007-01-30
  • 打赏
  • 举报
回复
用reader比较多
cancerser 2007-01-23
  • 打赏
  • 举报
回复
个人认为 不在一个层上没可比性
frank198381 2007-01-23
  • 打赏
  • 举报
回复
我觉得要看系统的架构。
nkitten88 2007-01-23
  • 打赏
  • 举报
回复
当然是单项数据集快,不过要看场合
xiaoliangwh 2007-01-14
  • 打赏
  • 举报
回复
帮顶 !
winner2050 2007-01-14
  • 打赏
  • 举报
回复
看情况。
如果数据要通过网络从数据库服务器传输到网页服务器,不用测试就知道是DataSet快
Snega 2007-01-14
  • 打赏
  • 举报
回复
数据量大的话,不能用DataSet,因为DataSet是将数据都放到内存中,因此会占用大量内存;DataReader类似一个服务器端的游标,占用资源小。因此数据量大的时候,DataReader会快很多。
ipooy 2007-01-14
  • 打赏
  • 举报
回复

我开始也认为DataReader要快很多,其实不是的!
DataReader好像有独占方式打开连接,所以,他连接数据库了,很多操作就被限制了;dataset据说是要慢,但是他切断式连接,而且循环遍历比较方便。
末了,dataset还能体现表之间的关系,很号用1
liujia_0421 2007-01-14
  • 打赏
  • 举报
回复
万事都没有一个绝对,要看具体情况吧..

如果数据库服务器在本机,用DataReader是比较好的..

仅供参考..
renmasheshou 2007-01-14
  • 打赏
  • 举报
回复
一般Reader要快,而且快的多!
tianxingzh 2007-01-14
  • 打赏
  • 举报
回复
好像在那本书上看到过相关的论述,一时想不起来了,大概意思如果是本地数据库查询的话使用reader是比较合算的。
jetxia 2007-01-14
  • 打赏
  • 举报
回复
while(objReader.Read())
{
......
}

for(i =0;i<objDataSet.Tables[0].Rows.Count;i++)
{
......
}
关键是这两个里面的处理是否复杂
sqlDA.Fill(objDataSet);
Fill方法的实现实际上还是用到了SqlDataReader
支持中文哦 2007-01-14
  • 打赏
  • 举报
回复
当然是单项数据集快,不过要看场合
单项数据集由于不用支持定位和内存缓冲,不需要生成游标,速度快多了。

110,539

社区成员

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

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

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