08. februar 2012 - 00:07Der er
4 kommentarer og 1 løsning
Giv stjerner
Hej
Hvordan er det smartest at lave en database struktur til et system hvor en bruger kan give stjerner til en artikel?
Min tanke er noget i stil med: id artikel_id bruger_id antal_stjerner
Men ser også problemer her, for hver gang man skal vise antal stjerner, så skal den hente ligeså mange poster som der er antal personer der har givet stjerner.
Alternativt tænkte jeg på noget med id artikel_id antal_pers antal_stjerner_ialt
Dette kunne også bygges direkte ind i tabellen med artikler. Men her kan man ikke vise hvad en given bruger har stemt, og det er også sværre at sikre en bruger ikke stemmer flere gange.
--------------------------
Hvordan vil I gøre - hvad er smartest og hvad er mest normalt?
Men hvordan kan chefen påvirke trivslen på arbejdspladsen, og er du som leder nøglen til bedre trivsel og øget jobloyalitet?
7. august 2024
Slettet bruger
08. februar 2012 - 00:34#1
Det giver sig selv. Du er nødt til at logge hvad den enkelte bruger har stemt, og evt. give ham mulighed for at ændre sin stemme. Hvis du har rigtig mange brugere og det giver problemer med performance, må du gøre begge dele.
Problemet er at med ca 2500 artikler og ca 5000 brugere kan det blive til rigtig mange poster. Værst tænklige scenarie hvis alle voter på hver eneste: 2500 x 5000 poster = 12.500.000 poster. Ved godt det er usandsynligt, men det er nok ikke usandsynligt at 2000 brugere rater i gennemsnit 50 artikler, og dermed ender med 100.000 poster
Derfor spørger jeg også til om der er andre måder at gøre det på end ovenstående. Kunne jo forstille mig man også kunne gøre noget med at gemme i cookie mv. Og der er sikkert også ting jeg ikke lige tænker over
1 million poster af den type er typisk ikke et problem for selv en simpel database, hvis bare tabellen er indekseret rigtigt.
Den typiske flaskehals er når man skal have mange data ud af databasen, men her skal du rent faktisk ikke have andet ud end nogle få summe af kolonner i tabellen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.