transakcje - przechowywanie danych

0

Nie potrafie nigdzie znaleźć informacji na temat tego jak to jest jeśli rozpoczynamy transakcje i dokonujemy w bazie jakiś zmian to jednocześnie inny użytkownik gdy użyje polecenia SELECT dostanie dane te nie zatwierdzone a my dostajemy takie jak na bieżąco dokonujemy zmian w obrębie transakcji nawet gdy jeszcze tego nie zatwierdzimy.
Czy ta baza jest jakoś kopiowana i dopiero po zatwierdzeniu transakcji wysyłane są dane do właściwej bazy?

0

To zależy od implementacji silnika bazodanowego, ale pogoogluj o shapshot'ach w bazach danych. To są te "tymczasowe kopie".

0

mam jeszcze inne pytanie dot. transakcji. Jeżeli użytkownik A i B działają na poziomie izolacji Read Uncommited i użytkownik A jako pierwszy wykona polecenie update jakiegoś rekordu w tabeli "tabelka" potem użytkownik B także będzie chciał zrobić update na innym rekordzie w tej samej tabeli to będzie musiał czekać dopóki użytkownik A zakończy równoległą transakcję.
Dlaczego tak się dzieje skoro w Read Uncommited są dozwolone wszystkie anomalia a mimo to użytkownik B nie może zrobić update dopóki transakcja użytkownika A nie zakończy się?

1 użytkowników online, w tym zalogowanych: 0, gości: 1