У меня довольно большая база данных SQL (~ 7 ГБ) со многими таблицами. Циклический просмотр этих таблиц с помощью автоматического запроса SELECT приводит к различным размерам наборов данных - некоторые имеют меньший размер, а другие имеют тенденцию к росту. Хотя небольшие наборы не создают проблем, большие замедляют процесс, и он никогда не заканчивается (или, может быть, это произойдет через несколько дней, на самом деле я не пробовал это по понятным причинам).
Все данные должны быть сериализованы (здесь используется Newtonsoft JSON).
Код прост:
private void GetConnection(string connectionString, string statement)
{
var ds = new DataSet();
var da = new SqlDataAdapter(statement, connectionString);
da.Fill(ds);
SerializeDataSet(ds);
}
Обратите внимание, что:
- Это консольное приложение .NET Core
- Я не имею права вносить изменения в БД
(например, разбивая большие таблицы на маленькие. Это то, что есть.)
- Трюки, которые могут работать при создании приложения для пользователей (например, ленивый
загрузка данных, разбиение на страницы) здесь не сработает, так как я сериализуюсь
данные в JSON, поэтому мне нужно получить все данные одновременно.
Ищите полезное решение, если оно у вас есть, спасибо.