数据集仍然比数据集更快吗?

时间:2011-07-21 21:30:03

标签: .net performance

我一直在用.NET编写代码。那是很长一段时间,我应该重新审视我的一些假设,看看情况是否有所改变。

我最大的假设之一是datareader比数据集更快 - http://www.sitepoint.com/dataset-datareader/

这仍然是这样吗?有什么变化吗?我听说谣言现在有些东西比数据显示器更“健谈”,但找不到任何支持它的文章。我的想法是,当我“读取下载”时,我必须进行数据库往返,而替代方案一次性抓住所有内容。

现在是否有更快的替代datareader或上面的文章是否仍然正确?

对于记录,当我有一个datareader时,我所做的就是将行值放入一个对象,将对象放入一个哈希表,读取下一行,重复,然后关闭连接。连接关闭后,可以使用哈希表完成连接对象的任何逻辑(尽快释放池)。

3 个答案:

答案 0 :(得分:2)

DataReaders和DataSet具有不同的功能集。如果DataReader没有DataSet所需的功能,那么它的速度并不重要。你要比较苹果和橘子。

如果你想要一个苹果,那么使用苹果,如果你想要橙色的话。使用最好的工具。

答案 1 :(得分:1)

是的,DataSet仍然非常慢,因此您不应该将它们用于任何拥有1个以上用户或是Web应用程序的系统。

答案 2 :(得分:1)

通过DataSet对象填充DbDataAdapter的基本逻辑没有改变。它仍然使用DbDataReader来填充DataSet。因此,根据定义,使用DataReader进行操作仍然会更有效。