Самый быстрый способ ОБНОВИТЬ несколько строк в C# ADO .NETC#

Место общения программистов C#
Ответить
Гость
 Самый быстрый способ ОБНОВИТЬ несколько строк в C# ADO .NET

Сообщение Гость »

Я пытаюсь улучшить производительность этого запроса. Мне нужно обновить несколько строк за один раз, и это занимает слишком много времени. Например, обновление 4 тысяч строк занимает 15 секунд.
Мой код:

Код: Выделить всё

using (var db = new DbConnection())
{
int counter = 0;

foreach (var item in itemsToUpdate)
{
if (!db.IsTransactionOpen)
{
db.OpenTransaction();
}

DbQuery q = db.CreateQuery();

q += "UPDATE Product SET Name = @Name WHERE Id = @Id";
q.AddParameter("@Name", item.Name);
q.AddParameter("@Id", item.Id);

db.ExecuteQuery();
counter++;

if (counter > 100)
{
db.CommintTransaction();
}
}

if (!db.IsTransactionOpen)
{
db.CommintTransaction();
}
}
Меня не устраивает время обновления. Есть ли способ ускорить это? В примере я использовал упрощенный запрос на обновление, я тестировал без транзакций, и это занимает гораздо больше времени.

Источник: https://stackoverflow.com/questions/781 ... rp-ado-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»