本文介绍了SqlDataAdapter的VS SqlDataReader的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是使用的SqlDataAdapter VS SqlDataReader对象从一个数据库获取数据之间的差异?
What are the differences between using SqlDataAdapter vs SqlDataReader for getting data from a DB?
我特别是寻找到自己的优点和缺点,以及他们的速度和内存性能。
I am specifically looking into their Pros and Cons as well as their speed and memory performances.
感谢
推荐答案
- 保持连接打开,直到完成(不要忘记关闭它!)。
- 通常只能用一次迭代
- 是不是更新到数据库 有用
在另一方面,它
- 唯有在一个时间内存中的一个记录,而不是整个结果集(这可能是巨大的)
- 讲述的是尽可能快,你可以得到一个迭代
- 允许您启动的处理结果早
- 让你尽快它完成加载数据关闭连接,甚至可能会自动为你关闭它
- 所有的结果都在内存
- 您可以迭代它多次,因为你需要,甚至可以查找一个特定的纪录指数
- 有一些内置的院系更新到数据库
目前的成本:
- 的许多的更高的内存使用
- 您等到所有的数据都使用它的任何加载之前
- Much higher memory use
- You wait until all the data is loaded before using any of it
因此,其实这取决于你在做什么,但我倾向于preFER一个DataReader,直到我需要的东西,唯一支持的数据集。 SqlDataReader的是完美的结合只读格公用数据访问的情况下
So really it depends on what you're doing, but I tend to prefer a DataReader until I need something that's only supported by a dataset. SqlDataReader is perfect for the common data access case of binding to a read-only grid.
这篇关于SqlDataAdapter的VS SqlDataReader的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!