sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL:tælle() eller beholde en tæller?

Måske mod intuitivt vil du sikkert opdage, at den simple count tilgang er hurtigere, medmindre din arbejdsbyrde er meget forudindtaget i forhold til læsninger.

Grunden til dette er, at effekten af ​​tællertabellen vil være at serialisere opdateringer, så kun én transaktion, der opdaterer en given foo kan være under flyvning på ethvert givet tidspunkt. Det er fordi opdateringen til triggeren, der opdaterer tælleren, låser den foo s indtastning i tællertabellen og vil ikke frigive den, før transaktionen ruller tilbage eller forpligtes.

Værre, hvis din transaktion påvirker mere end én foo og det samme gør en anden, du har en stor chance for, at en af ​​transaktionerne bliver afbrudt på grund af et dødvande.

Hold dig til en simpel optælling, indtil du har en god grund til at ændre det.



  1. Tabel- eller kolonnenavn kan ikke starte med numerisk?

  2. Lagret procedure SQL eksekveringsplan

  3. sletning af dubletter

  4. Sådan fungerer FORMAT() i MariaDB