Z jakim problemem wiąże się poziom izolacji transakcji Repeatable Read (powtarzalny odczyt)?
A. z odczytami widmowymi (phantom reads)
Dobrze. Repeatable Read nie chroni przed pojawieniem się NOWYCH wierszy.
B. z brudnymi odczytami
Źle. Brudne odczyty eliminuje już poziom Read Committed.
C. z niepowtarzalnymi odczytami
Źle. Niepowtarzalne odczyty Repeatable Read właśnie ELIMINUJE.
D. z utratą aktualizacji
Źle. Ten problem dotyczy słabszej kontroli współbieżności.
Poziom izolacji Repeatable Read gwarantuje, że te same wiersze odczytane w transakcji nie zmienią się - ale wciąż dopuszcza ODCZYTY WIDMOWE (phantom reads): gdy inna transakcja DODA nowe wiersze pasujące do warunku, powtórne zapytanie może zwrócić ich więcej. Zapamiętaj: Repeatable Read blokuje zmiany istniejących wierszy, lecz nie pojawianie się nowych (widm).
Pozostałe problemy są eliminowane na tym lub niższych poziomach. Brudne odczyty (dirty reads - czytanie niezatwierdzonych danych) i niepowtarzalne odczyty (zmiana odczytanego wiersza) są już WYKLUCZONE przez Repeatable Read. Utrata aktualizacji to inny problem współbieżności. Z Repeatable Read wiążą się odczyty widmowe.