Concorrenza pessimistica
Strategia di concorrenza che presume conflitti probabili e blocca i dati in anticipo (ad es. SELECT ... FOR UPDATE), facendo attendere le altre transazioni: «prima il lock, poi il lavoro», l'opposto della concorrenza ottimistica.
Il meccanismo: prima di modificare i dati, la transazione acquisisce un lock sulle righe; chi vuole toccare le stesse righe resta bloccato finché il lock non viene rilasciato (a commit o rollback). Il vantaggio è la garanzia che nessun altro modifichi i dati mentre si lavora: niente sorprese, niente «lost update», comportamento prevedibile. Il prezzo è una concorrenza minore (attese), il rischio di deadlock e un uso poco sensato quando i conflitti sono in realtà rari.
Funziona meglio quando i conflitti sono frequenti e rifare il lavoro costa caro (ad es. il saldo di un conto con molta contesa). L'approccio ottimistico lascia correre tutti e rileva il conflitto solo al commit; la scelta dipende dal tasso di conflitto.