#825

Tel paginahits zonder verloren increments

Een teller voor artikelweergaven krijgt in één keer 50 parallelle verzoeken te verwerken. Als je «waarde lezen → in code ophogen → wegschrijven» doet, zien de parallelle verzoeken dezelfde beginwaarde en gaat een deel van de increments verloren. De oplossing is om de ophoging uit te voeren in één enkele update-opdracht die de nieuwe waarde afleidt uit de oude. Verhoog n met één voor de rij met id 1 in counters in één enkele UPDATE. Voer de opdracht vijf keer uit — de eindwaarde moet precies met vijf toenemen. Postgres serialiseert updates per rij automatisch.

Je queryresultaat verschijnt hier