Salta ai contenuti
Manuale LogoManuale Logo

Livelli di isolamento

I livelli di isolamento stabiliscono quanto una transazione può vedere del lavoro delle altre transazioni in corso.

Quando più transazioni leggono o modificano gli stessi dati, il database stabilisce quali modifiche può vedere ciascuna.

Livelli noti:

  • READ UNCOMMITTED
  • READ COMMITTED
  • REPEATABLE READ
  • SERIALIZABLE

Più isolamento significa di solito maggiore prevedibilità, ma anche meno concorrenza.

È sempre un equilibrio tra protezione e prestazioni.

Non è indispensabile memorizzare subito i dettagli fini di ogni livello. All’inizio ti basta capire questo:

  • i livelli bassi lasciano più libertà
  • i livelli alti proteggono di più dai comportamenti strani

READ COMMITTED è una scelta comune: una transazione vede solo dati già confermati da altre transazioni.

REPEATABLE READ protegge di più la lettura: se rileggi gli stessi dati nella stessa transazione, ti aspetti più stabilità.

SERIALIZABLE è il livello più severo tra quelli classici. Fa comportare le transazioni come se passassero una alla volta.

È molto protettivo, ma può essere più costoso in termini di concorrenza.