[Database] Extra veld of sum

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Simon Verhoeven
  • Registratie: Juni 2008
  • Laatst online: 30-08-2018

Simon Verhoeven

The trial never ends.

Topicstarter
Ik was daarstraks wat algemeen aan het nadenken over het ontwerpen van een databank en toen kwam bij mij het volgende op: wanneer de lijn te trekken tussen een extra veld of een som functie.

Bijvoorbeeld (geen echte db dus ontbrekende velden etc zijn normaal):
gebruikers:
gebruikerID
naam

posts:
postID
gebruikerID <= FK naar gebruiker
tijdstip
bericht

Het komt er dus op neer, hoe weet je nu wanneer het nuttiger is om een post veldje aan gebruiker toe te voegen of een sum functie over de posts tabel te gooien.
Of in ieder geval: waarvoor kiezen jullie?

Je kan natuurlijk testdata gaan genereren en dan controleren wat tot welke grens het beste is maar dat gaat zoiezo toch wat verschillen van machine tot machine en afhangen van de database + wat je voor de rest nog met je database uitspookt.

Acties:
  • 0 Henk 'm!

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 30-07 20:50
Over welke gegevens heb je het? Wat zou er uit de sum moeten komen? Of in het extra veldje?

edit:
Er wordt ook vaak gezegd: "premature optimization is the root of all evil". En ik denk dat dit nu ook aan de orde is. Voor zover ik er verstand van heb, worden dingen die met een sum kunnen worden gedaan met een sum gedaan. Als een database later flinke proporties aanneemt zou je kunnen gaan spelen met data vast opslaan (misschien minder CPU intensief, kost alleen weer meer opslag).

[ Voor 68% gewijzigd door Zeebonk op 15-06-2009 19:54 ]


Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Over hoeveel records hebben we het?

In eerste instantie gaan voor een sum en alleen in het geval van performance problemen zou ik kijken naar andere oplossingen.

Acties:
  • 0 Henk 'm!

  • Simon Verhoeven
  • Registratie: Juni 2008
  • Laatst online: 30-08-2018

Simon Verhoeven

The trial never ends.

Topicstarter
Het aantal posts.

Pak de gemiddelde forumpagina van een lid die je heel simplistisch maakt.
Je toont gewoon de naam en het aantal posts.
Nu kan je daaraan geraken door een post aantal veld toe te voegen aan de gebruikers tabel of door een sum over de posts tabel te doen waar je in de where clausule kijkt of het gebruikerid gelijk is aan het id van de gebruikersprofiel.
HeSitated schreef op maandag 15 juni 2009 @ 19:53:
Over hoeveel records hebben we het?
Het is louter een hypothetische situatie, niet een waarmee ik in het echte leven geconfronteerd wordt.

[ Voor 25% gewijzigd door Simon Verhoeven op 15-06-2009 19:55 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 19-09 21:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Simon Verhoeven schreef op maandag 15 juni 2009 @ 19:53:
Het is louter een hypothetische situatie, niet een waarmee ik in het echte leven geconfronteerd wordt.
Dan is er ook geen antwoord op te geven. Kijk, je data niet redundant opslaan is natuurlijk mooier omdat er dan ook geen discrepanties kunnen ontstaan. Echter, zodra performance in het geding komt, wat op grote fora zoals deze weldegelijk het geval is, kun je ervoor gaan kiezen om die data wel in aparte kolommen op te slaan (en dus effectief voor een hogere normaalvorm kiest)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.