26. november 2003 - 21:40Der er
7 kommentarer og 1 løsning
Kommasepareret liste eller en ny tabel?
Tjaeh, et optimeringsspørgsmål.
Hvad er mest hensigtsmæssigt?
Jeg har to tabeller, een med brugere og een med -- lad os sige -- sko. Det skal nu være muligt at flere bruger deler samme par sko og at een bruger har flere par sko.
Hvad er så mest optimalt? - udvide tabellen over brugerne med en "må-benytte-disse-sko" kolonne hvori der er en kommasepareret liste med skoId'erne - lave en ny tabel med brugerId'en og skoId'en -- altså en række for hver "relation" mellem en sko og en bruger - noget helt andet som jeg slet ikke har tænkt over?
Det skal siges at listen der i så fald skal gemmes i et felt skal opsplittes af PHP...
erikjacobsen: også mit umiddelbare bud, men det virker lidt omsonst, da det jo vil give mange rækker hvis mange brugere deler mange sko... Det giver jo det antal sko som hver bruger har (gennemsnitligt) gange flere rækker...
Den mest hyppige query der vil blive kørt er en kontrol af om en given brugerId og en given skoId har en relation -- altså om en given bruger har adgang til et givent par sko.
Mmmm, jeg er vist ved at være overbevist -- har set lyset, især i det øjemed at man skulle udvide funktionaliteten; det gør det væsentligt mere fleksibelt...
Du er den næstbedste overtaler, lige i hælene på google ;-)
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.