sql >> Database >  >> RDS >> Mysql

Is het opslaan van tellingen van databaserecords overbodig?

Om de titelvraag te beantwoorden. Ja, het is overbodig, maar of je het moet doen, hangt af van je situatie.

Tenzij u prestatieproblemen kent, berekent u de tellingen en totalen direct in uw toepassing en slaat u ze niet op. Dat wil zeggen, sla geen berekende waarden op, tenzij u geen andere keuze heeft.

In de meeste situaties hoef je hier geen toevlucht toe te nemen en dat zou ook niet moeten.

Als u berekende waarden moet opslaan, doet u het volgende:

  • Houd het niet up-to-date door het te verhogen. Herbereken de telling/totaal van alle gegevens elke keer dat u deze bijwerkt.
  • Als je niet veel updates hebt, plaats je de code in een update-trigger om de telling/totalen up-to-date te houden.
  • Het probleem met redundantie in databases is dat wanneer de cijfers het niet eens zijn, u niet zeker weet welke gezaghebbend is. Voeg aan de documentatie een opmerking toe dat de brongegevens de gezaghebbende bron zijn als ze het er niet mee eens zijn en kunnen worden overschreven.


  1. MySQL - Selecteer de laatst ingevoegde rij op de gemakkelijkste manier

  2. Voeg een enkele kolom in een query samen met veel kolommen

  3. MariaDB FIELD() vs FIND_IN_SET():wat is het verschil?

  4. MYSQL INSERT SELECT probleem