在c#中检索大量数据时如何防止System.OutOfMemoryException

时间:2013-03-29 19:04:20

标签: c#

我有一个C#程序,在启动时填充一个包含4Million Guids的字典。 此时我一直收到类型为'System.OutOfMemoryException'的异常。

示例:

using (reportingconn)
{
    var initialrowkeys = reportingconn.Query("select rowkey from table”);
}

有人能给我一些想法,如何最好地从SQL中检索大量数据到字典中吗?

2 个答案:

答案 0 :(得分:5)

使用SqlDataReader()这将逐行读取,而不是SqlDataAdapter.Fill.

答案 1 :(得分:0)

C#数据字典似乎有2GB的内存限制。程序员朋友告诉我将我的控制台应用程序从32位更改为64位以防止这种限制。这似乎解决了我的问题。