W przypadku transakcji niepisanej, która jest tańsza / szybsza: COMMIT lub ROLLBACK?

Używam transakcji sql jako kontenerów dla APPLOCKS i innych mechanizmów współbieżności, więc czasami tworzę transakcje na różnych poziomach izolacji, które tylko odczytują dane i nie piszą. Uważam, że w tych sytuacjach logicznie COMMIT i ROLLBACK mają identyczne wyniki.

Ze względu na wydajność chciałbym wiedzieć, który z nich jest tańszy / szybszy do uruchomienia serwera? Czy wymagana jest nieunikniona księgowość, która jest zoptymalizowana dla sprawy COMMIT i dodatkowego narzutu dla ROLLBACK, nawet jeśli nie ma żadnych zapisów? Zamki zostaną zwolnione w każdym przypadku.

Jeśli to nie ma znaczenia, to nie muszę zaśmiecać mojego kodu .NET TransactionScope niepotrzebnymscope.Complete() co może sprawić, że zawaham się podczas przeglądania kodu operacji, która w przeciwnym razie byłaby tylko do odczytu.

Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion