Ogni volta che un database ha più scrittori concorrenti, ci sono potenziali condizioni di gara. In particolare, se ogni writer tenta di aggiungere una nuova riga, tutti possono scegliere la stessa chiave primaria se stanno solo facendo max(...)+1
, e quindi tutti gli inserimenti tranne uno avranno esito negativo.
Quando un database ha una funzione di "incremento automatico", non ti risparmiano il problema di scrivere max(...)+1
, ti stanno risparmiando la fatica di farlo in un modo perfettamente sicuro, che potrebbe essere impossibile per te da fare se alcuni degli scrittori del database sono scritti in altre lingue e di proprietà di diversi sviluppatori.
Se hai sempre un solo scrittore alla volta, questo non può causare problemi. Ma non dovresti impegnarti a pensare che non vorrai mai più scrittori, quindi lascia che sia il database a fare questo per te.