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!