Я создал службу, которая считывает несколько баз данных и загружает их в другую базу данных.
использование памяти огромно, поэтому сейчас я стремлюсь сократить использование памяти.
У меня есть фрагмент кода, где я читаю в двух столбцах из двух разных таблиц в список, мой вопрос, есть ли более эффективный способ памяти для этого.
В настоящее время в списке около 3,4 миллиона строк, и это число будет только увеличиваться, поскольку база данных, из которой он взят, станет только больше.
код, о котором я говорю,инициализируется так и используется в цикле foreach:
private List<int[]> DataIDList_1;
private List<int[]> DataIDList_2;
private List<int[]> DataIDList_3;
public DatabaseTransferService()
{
DataIDList_1= new List<int[]>();
DataIDList_2= new List<int[]>();
DataIDList_3= new List<int[]>();
}
public void injectValues(docID,statID )
{
DataIDList_1.Add(new int[] { docID, statID });
}
public void insertData(List<int[]> DataIDList)
{
foreach (int[] intArrData in DataIDList)
{
int DataID = intArrData[0];
//Inserting data in to database based on the list
}
}
Я отредактировал код, который не важен для моего вопроса.для пояснения список содержит только идентификаторы в строках, которые я затем использую для извлечения строки и вставки данных из одной базы данных в другую базу данных.
Редактировать: я исключил часть вставки базы данных, потому что она нечасть, на которую я смотрю прямо сейчас.Я знаю, что, вероятно, есть что-то, что можно получить, но в настоящее время я смотрю на одного крупнейшего среднего пользователя памяти, в данном случае это мой список из 3 баз данных.
Edit2: идея, которую я имел, заключалась в том, чтобы загрузить ввсе идентификаторы из 5 баз данных, а затем загрузите их в статистическую базу данных, получая при этом только одну строку на основе идентификаторов в списке. Это означает, что единственное, что у меня в памяти, - это то, над чем я работаю в настоящее время, и идентификаторы всех строки просто чтобы уточнить, есть ли изменения в какой-либо из строк в 5 базах данных, я получу обновление статистической базы данных на основе таблицы revision, в которую я также загрузил идентификаторы.
Спасибозаранее.