这两天测试了泛型+实体类翻页和 dataset绑定翻页。都使用了同一个存储过程。发现在2KW级别在现实首页及前面的页数,两者差距不是很大,可以接受。但从尾页向前翻页时,dataset比泛型慢了4.5倍!奇怪了,存储过程都一样,返回了数据都一样,怎么差距那么大呢?
问题补充:一个是返回ds
return db.ExecuteDataSet(cmd);
另一种返回泛型
List<Model.NoteInfo> list = new List<Model.NoteInfo>();using (IDataReader dataReader = DBConnection.ExecuteReader(cmd))
{
while (dataReader.Read())
{
list.Add(ReaderBind(dataReader));
}
}
return list其他代码没有什么不同,首页和尾页泛型速度基本一致,唯独dataset返回的尾页效率慢了4.5倍左右,怎么回事?
问题补充:一个是返回ds
return db.ExecuteDataSet(cmd);
另一种返回泛型
List<Model.NoteInfo> list = new List<Model.NoteInfo>();using (IDataReader dataReader = DBConnection.ExecuteReader(cmd))
{
while (dataReader.Read())
{
list.Add(ReaderBind(dataReader));
}
}
return list其他代码没有什么不同,首页和尾页泛型速度基本一致,唯独dataset返回的尾页效率慢了4.5倍左右,怎么回事?
=============================
www.webdiyer.com