Re: Optimerat sätt att lösa mitt problem?
Patrik81 skrev:
...Är det smartare att bygga tabellen såhär:
UID
fldLänkID
fldClicksoch få en jäkla massa sådana inlägg, jag har ju för tillfället bara fem testanvändare, och fem länkar än så länge, vilket skulle innebära 25 rader i tabellen. Lägger jag till fler länkar blir de ju fler, och kommer det fler användare ökar ju det också rad antalet.
...
Ja. :)
Dels är det så en relationsdatabas förväntas att byggas upp, dvs det är så man normalt sett får strukturen. För det som "hänger ihop" det är ju en viss användare med en viss länk och antalet gånger den tryckts på (av den användaren). Exempel: Om vi har länkarna A, B, C, D och E. Och användarna Ann, Bo och Carl så är
antalet gånger som Ann tryckt på A helt oberoende av antalet gånger hon tryckt på övriga fyra länkar. Och då ska det avspeglas i databasstrukturen.
Dels är problemet med att lägga in nya rader i en databas ett intet mot att lägga in fler kolumner. Nya rader påverkar inte det som redan står där, medan nya kolumner påverkar samtliga rader. De redan befintliga fick ju plötsligt fler kolumner att ha värden i.
Värst av allt: med den andra designen tvingas du skriva om samtliga SQL-frågor varje gång du lägger till en kolumn. För att plocka ut det du vill ur ovanstående skriver du (en gång för alla)
Select fldLänkID from Tabell where userID=<namn> order by fldClick DESC;
