webForumDet fria alternativet
Logga in / Bli medlem

Databasdesign

Databaser & SQL

1 svar · 230 visningar · startad av Nöff

Medlem sedan nov. 2003569 inlägg
Trådstart#1

ALTERNATIV 1

Tabell:BOK
ID
boknamn

Tabell:KAPITEL
ID
bokID
kapitelnamn

Tabell:SIDA
ID
bokID
kapitelID
text

-----------------------------------------------

ALTERNATIV 2

Tabell:BOK
ID
boknamn

Tabell:KAPITEL
ID
bokID
kapitelnamn

Tabell:SIDA
ID
kapitelID
text

-----------------------------------------------------------

1. Jag vill ha ut "text" från tabell "sida" där bokID=1

Om jag använder alternativ 1 kan man enkelt få ut all text där bokID=1 med en
SELECT text FROM sida WHERE bokID=1.

Men om man jag använder alternativ 2 måste jag först göra en JOIN där jag binder samman alla tre tabellerna.

SELECT sida.text FROM sida INNER JOIN kapitel ON kapitel.ID=sida.kapitelID INNER JOIN bok ON bok.ID=kapitel.bokID AND bok.ID=1

Vilket är egentligen bäst att använda?.

Alternativ 1: Går snabbare att söka i , men man måste använda extra kolumner.

Alternativ 2: Går långsammare att söka i, men man kan använda färre kolumner..

Jag är kluven.. vilket är bäst?

Medlem sedan nov. 2003569 inlägg
#2

Var inte blyga nu. Ge nu lite förslag :h

384 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
124 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)