#825

Conta le visite alla pagina senza perdere incrementi

Un contatore di visualizzazioni di un articolo viene colpito da 50 richieste parallele contemporaneamente. Se fai «leggi valore → incrementa nel codice → scrivi», le richieste parallele vedono lo stesso numero di partenza e una parte degli incrementi va persa. La soluzione è eseguire l'incremento in un'unica istruzione di update che ricava il nuovo valore dal vecchio. Aumenta n di uno per la riga con id 1 in counters in un solo UPDATE. Esegui il comando cinque volte — il valore finale dovrebbe crescere esattamente di cinque. Postgres serializza automaticamente gli update per ciascuna riga.

Il risultato della tua query apparirà qui