Я использую транзакции sql как контейнеры для APPLOCKS и других механизмов параллелизма, поэтому иногда создаю транзакции на разных уровнях изоляции, которые только считывают данные и не пишут. Я считаю, что в этих ситуациях логически, COMMIT и ROLLBACK имеют одинаковые результаты.Для дешевой/быстрой транзакции с корыстолицей: COMMIT или ROLLBACK?
По соображениям производительности я хотел бы знать, какой из них дешевле/быстрее для сервера? Требуется ли неизбежная бухгалтерия, оптимизированная для случая COMMIT, и дополнительные накладные расходы для ROLLBACK, даже если нет записи? Замки будут выпущены в любом случае.
Если это не имеет значения, то мне не нужно заманивать мой код .NET TransactionScope ненужным scope.Complete()
, который может заставить меня стесняться при просмотре кода операции с явно выраженным доступом.
Спасибо!
Спасибо Sonam. Это тоже мое предположение, но есть ли у вас какая-либо документация или что-то еще, чтобы поддержать это? –
http://dba.stackexchange.com/questions/5233/is-rollback-a-fast-operation – Sonam