Większa izolacja => gorsza wydajność operacji współbieżnych
Wykorzystywane są kompromisy między tymi dwoma wartościami, co może spowodować niepożądane konsekwencje.
Lista występujących problemów w transakcjach
Bardzo dużo pokrywa się z notatką o transakcji, więc pobieżnie:

Poziomy izolacji a błędy współbieżności

Blokady
Żeby osiągnąć dany poziom izolacji, DBMS nakłada odpowiednie blokady na rekordy / tabele.
Rodzaje blokad:
- na rekordy:
- shared - nakładane w trakcie wielu selectów, pozwala na współbieżne pisanie, nikt nie może wtedy modyfikować rekordu
- exclusive - nakładany w trakcie poleceń DML, tylko dla piszącego, nikt nie może czytać
- na scheme:
- stability - nakładane w trakcie kompilacji kwerendy na strukturę przeszukiwaną, żeby struktura się nie zmieniła
- modification - nakładany w trakcie wykonywania operacji DDL na tabelę, współbieżny dostęp niemożliwy
Deadlock
Co to deadlock każdy wie, trzeba rollback zrobić żeby cofnąć transakcję.
Save point
Służy jako checkpoint, żeby nie rollbackować całej transakcji.
begin transaction a
...
save tran b
...
rollback tran b
...
commitDługotrwałe transakcje
Potrzebne w sytuacji wymagającej długotrwałego locka. Tworzy kopie danych specjalnie dla transakcji, żeby nie blokować transakcji krótkotrwałych.