Я видел это предложение не только в одном месте:
"Транзакция должна быть максимально короткой, чтобы избежать проблем с параллелизмом и обеспечить максимальное количество положительных подтверждений."
Что это на самом деле означает?
Это озадачивает меня сейчас, потому что я хочу использовать транзакции для моего приложения, которые при обычном использовании будут иметь дело с одновременной вставкой сотен строк от многих клиентов.
Например, у меня есть служба, которая предоставляет метод: AddObjects(List<Objects>)
и, конечно, эти объекты содержат другие вложенные различные объекты.
Я думал начать транзакцию для каждого вызова от клиента, выполняющего соответствующие действия (связка вставки / обновления / удаления для каждого объекта со своими вложенными объектами). EDIT1: Я имел в виду транзакцию для всего вызова "AddObjects
", чтобы предотвратить неопределенные состояния / поведение.
Я иду в неправильном направлении? Если да, как бы вы это сделали и каковы ваши рекомендации?
EDIT2: Кроме того, я понял, что транзакции выполняются быстро для массовых операций, но это как-то противоречит цитируемому предложению. Какой вывод?
Заранее спасибо!