Zakleszczenia
Zobacz plik: zakleszczenie.sql
Co stanie się, jeżeli dwie różne aplikacje spróbują zmienić te same dane w tym samym czasie? Zobaczmy:
Sesja A
Aktualizacja wiersza 14 Aktualizacja wiersza 15
Sesja B
Aktualizacja wiersza 15 Aktualizacja wiersza 14
W tym momencie obie sesje się zablokują, ponieważ każda z nich czeka na zakończenie drugiej.
W PostgreSOL domyślny poziom read commited jest kompromisem pomiędzy współbieżnością, wydajnością i minimalizacją liczby blokad z jednej strony, a spójnością i idelanym działaniem z drugiej.
Wraz ze zbliżaniem się do poziomu seriazable, by uzyskać działanie batdziej zbliżone do doskonałego, zwiększa się liczba blokad, zmiejsza się rywalizacja użytkowników o dane i spada wydajność.
kwiecień 30, 2003 20