Как реализовать память об используемых данных из базы данных в памяти ?
Всем привет. у меня проблема
у меня есть база данных с 1 млн записей.
я хочу получать данные из базы данных в памяти каждую тысячу записей по ADO.NET и сделай мне операцию
затем отпустите память и извлеките следующую запись тысячи и снова ...
освобождает ли GC память в этом состоянии?
Что я уже пробовал:
SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "select * from Base"; DataSet dataSet = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(dataSet, "Record");
F-ES Sitecore
.net обрабатывает управление памятью за вас, и вы мало что можете сделать, чтобы освободить память самостоятельно. Вы можете погуглить "gc.collect", чтобы узнать, как спровоцировать сбор памяти. Если вы просматриваете много данных, то вам нужно будет пролистать их или использовать что-то вроде datareader, а не заполнять набор данных, поскольку это позволит вам обрабатывать данные в памяти по мере прохождения строк, а не загружать все данные в память сразу.
Member 14119435
Спасибо, мой друг.
Итак ,когда у меня есть много записей в базе данных , например, если я извлекаю их каждую тысячу записей и выполняю свою операцию, а затем извлекаю новые записи, память освобождается от предыдущих данных gc??