Запрос большого DataSet .NET Core для сериализации - PullRequest
0 голосов
/ 12 марта 2019

У меня довольно большая база данных 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, поэтому мне нужно получить все данные одновременно.

Ищите полезное решение, если оно у вас есть, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...