Адаптер данных C # SQL - ограничение размера заполнения, если ответ на запрос превышает определенную длину строки - PullRequest
0 голосов
/ 27 августа 2018

Учитывая следующий код, который заполняет объект DataTable данными из запроса:

var response = new DataTable();

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlCommand sqlCommand = new SqlCommand(query, connection);

    sqlCommand.CommandTimeout = 30;
    SqlDataAdapter da = new SqlDataAdapter(sqlCommand);

    da.Fill(response); 

    connection.Close();
    da.Dispose();
}

Предположим, что любой запрос отправляется через этот код.

Если запрос возвращает десятки тысяч строк, содержащих несколько гигабайт данных, могут возникнуть проблемы с производительностью. Есть ли способ изменить команду «Заполнить», чтобы она заполнялась только, например, первые 1000 строк и перестает принимать данные после?

В настоящее время при возврате больших запросов занято большое пространство кучи (на снимке показан снимок до и после заполнения), и я ищу способ программно заполнить только определенную сумму.

enter image description here

Возможно ли это?

...