Я недавно увидел это, см. Ниже. Я получил OutofMemoryException
при загрузке 2,5 миллиона записей с DataTable
. И внизу, есть table.Dispose()
. Использование памяти: 560Mb! Зачем использовать DataTable
?Ограничьте использование DataTable
public string[] GetIDs()
{
DataTable table = new DataTable();
using (SqlConnection dwConn = new SqlConnection(this.ConnectionString))
{
dwConn.Open();
SqlCommand cmd = dwConn.CreateCommand();
cmd.CommandText = "SELECT ID FROM Customer";
SqlDataReader reader = cmd.ExecuteReader();
table.Load(reader);
}
var result = new string[table.Rows.Count];
for(int i = 0; i < result.Length; i++)
{
result[i] = table.Rows[i].ItemArray[0].ToString();
}
table.Dispose();
table = null;
return result;
}
У вас, кажется, есть ответ на свой вопрос довольно быстро - зачем спрашивать? – geedubb
@geedubb Это должно помочь другим, которые попадают в такие же ситуации –
Непонятно, каков реальный * вопрос *, хотя ... –