sql >> Database >  >> RDS >> Mysql

Hoe op te slaan, het totaalbedrag van de bestelling te verwerken in een schema voor bestellingen, bestellingenDetails?

Ja, het is normaal om vooraf berekende waarden, gebaseerd op andere gegevens in de database, op te slaan in een database. Maar niet per se om de reden die jij noemt. Ik heb nooit een probleem gehad met MAX_JOIN_SIZE .

De belangrijkste, en waarschijnlijk enige reden voor het opslaan van berekende waarden is snelheid. Je doet het dus voor waarden die niet zo vaak veranderen en die kunnen worden gebruikt in query's die veel gegevens gebruiken en daarom te traag kunnen zijn als je ze niet gebruikt.

Bijvoorbeeld:als u de gemiddelde waarde van alle bestellingen in uw database wilt weten, zou de zoekopdracht een stuk sneller zijn als u al de bestellingstotalen heeft.

Waarom en hoe u de waarden bijwerkt, is geheel aan u. Maar je moet er consequent in zijn . Als je het MVC-patroon gebruikt, is het logisch om het in de controller te integreren. Of in eenvoudige bewoordingen:wanneer een formulier wordt ingediend dat een van de waarden zou kunnen veranderen, waaruit de vooraf berekende waarde wordt berekend, moet u het opnieuw berekenen.

Dit is een duidelijke demonstratie waarbij 'normalisatie' niet helemaal wordt gehandhaafd. Het is niet echt mooi, maar soms de moeite waard. Je zou natuurlijk kunnen stellen dat de berekende waarde 'nieuwe' informatie vertegenwoordigt en daarom niet in strijd is met 'normalisatie'.



  1. Een diepgaande blik op Database Indexing

  2. MySQL Workbench-alternatieven - ClusterControl Database-gebruikersbeheer

  3. Hiërarchische lijst met typen triggergebeurtenissen in SQL Server 2017

  4. LINQ voor Java-tool