webForumDet fria alternativet

Varchar vs Lookup

1 svar · 218 visningar · startad av mmmMange

mmmMangeMedlem sedan jan. 2005111 inlägg
#1

MySQL 5.

Vad tjänar man egentligen på att använda en Lookup-tabell, istället för att lagra strängar i ett varchar-fält? Databasen vi pratar om ser (förenklat) ut såhär:

TABLE 'images'
imageid INTEGER AUTO INC
categoryname VARCHAR(20)

Som synes sparas kategorinamnet i varje post. Man skulle ju också kunna göra såhär:

TABLE 'images'
imageid INTEGER AUTO INC
categoryid INTEGER

TABLE 'categories'
categoryid INTEGER AUTO INC
categoryname VARCHAR(20)

Då sparar man ju bara själva kategorinamnet en enda gång, vilket (antar jag) sparar en hel del utrymme. Men det man tjänar i utrymme måste väl betalas med prestanda kan jag tänka mig. Dels blir det krångligare PHP-kod, och dels måste man ju göra lookup när man ska söka fram bilder ur en viss kategori.

Jag har alltid använt lookups när man har en sådan situation, men är det nån som har några synpunkter på hur stora skillnader det är egentligen?

MeleaMedlem sedan juli 20032 667 inlägg
#2

Skillnaden i hastighet blir nog inte märkbar, men det blir ju betydligt enklare att ändra ett kategorinamn om det bara står på ett ställe.

Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb