如何读取大批量数据?

时间:2020-12-09 14:53:17
在某种情况下我一次需要处理很多数据,比如说一百万条。
当然这些数据不是同时处理,而是处理完一条再处理下一条。
不知道应该用什么读取这种数据?
用DATASET不可能,不可能把如此多的数据保存在内存中。
想用DATAREADER,但不知道它是否也像DATASET一样把数据一次性全保存在内存中,还是我READ一次从数据库里读取一条数据或者是别的样的?
请大家指点一下吧。

7 个解决方案

#1


其实我的意思就是如何连续的读取这些数据。。。呵呵

#2


分页读取,例如每次读入2000条放入内存,操作完存回数据库,然后再读入下面2000条

#3


通常都是这样,先读出到n条,处理完成,再从n+1开始读到2n+1,……
(n从1开始)

#4


不需要分页处理,直接用DataReader就可以

DataReader会自动Fetch合适数量的数据,

并且会把所有处理的数据释放掉,而不是放在内存中

#5


这样啊.谢谢哦.呵呵~~~~

#6


我觉得还是要分一定数量来 读取。
100万数据量太大 也占内存!
时间问题很大!

#7


建议一批批处理,每次处理多少条可定制.

#1


其实我的意思就是如何连续的读取这些数据。。。呵呵

#2


分页读取,例如每次读入2000条放入内存,操作完存回数据库,然后再读入下面2000条

#3


通常都是这样,先读出到n条,处理完成,再从n+1开始读到2n+1,……
(n从1开始)

#4


不需要分页处理,直接用DataReader就可以

DataReader会自动Fetch合适数量的数据,

并且会把所有处理的数据释放掉,而不是放在内存中

#5


这样啊.谢谢哦.呵呵~~~~

#6


我觉得还是要分一定数量来 读取。
100万数据量太大 也占内存!
时间问题很大!

#7


建议一批批处理,每次处理多少条可定制.