Devo mantenere una tabella statistica per un progetto, composta da un elenco di elementi e dal loro utilizzo (pensa a qualcosa come un sito Web in cui vorresti contare le visualizzazioni di pagina). Ogni volta che viene istanziato un articolo, devo incrementare l'utilizzo dell'articolo specifico.
La mia prima implementazione è:
statistics(
id integer NOT NULL,
name character varying(255) NOT NULL,
usage integer NOT NULL DEFAULT 0,
);
UPDATE statistics
SET usage = usage + 1
WHERE name = '<name>';
Le mie preoccupazioni riguardano prestazioni e concorrenza. Il processo di aggiornamento verrà istanziato da diverse decine (forse 80-120) dispositivi e potrebbe verificarsi più volte al secondo, quindi le mie domande sono:
1) questo metodo conserverà la concorrenza? (ovvero se più dispositivi richiedono l'aggiornamento "contemporaneamente", verrà conteggiata ogni richiesta?)
2) puoi suggerire un modo migliore per ottenere il risultato? Mi aspetto di avere un carico nello scrivere gli aggiornamenti, mentre le letture mi farebbero molto più frequentemente. Esiste una funzione specifica per incrementare i valori? Sto guardando "sequenza" ma non sono sicuro che sia il modo giusto ...
Grazie mille in anticipo per qualsiasi consiglio