Visa ett inlägg
Oläst 2012-06-25, 18:30 #5
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
För att din databasdesign ska uppfylla första normalformen krävs att du bara lagrar ett värde per fält. Genom att bryta mot denna regel gör du det svårt för dig själv att skapa vettiga SQL-frågor. Rätt sätt att skapa en många-till-många-relation är att skapa en till tabell där varje rad kopplar en rad i den ena tabellen till en rad i den andra. Sedan JOIN:ar man alla tre.

Med din nuvarande design kan databasmotorn inte optimera frågan överhuvudtaget. Har du många radera i någon av tabellerna kan du få potentiellt horribel prestanda. Med en normaliserad design kan MySQL lätt använda eventuella index och annat. Dessutom är en heltalsjämförelse betydligt billigare än en LIKE-jämförelse.

Jag förstår dock inte varför du inte får någon träff med mitt förra svar. Kan det vara på grund av parenteserna? Har du parenteser i fältet? Kan du visa ett utdrag ur båda tabellerna?
emilv är inte uppkopplad   Svara med citatSvara med citat