men samtidigt får man med sig onödig information.
Varför får du onödig information? Du anger ju bara de fält i joinen du ska använda dig av, eller förstår jag din fråga fel?
5 svar · 241 visningar · startad av Pace
Vilket är egentligen "bäst" (dvs, snabbast och mest korrekt) att göra om man exempelvis vill hämta ett inlägg i ett forum + forumets titel:
Med metod 1 så hämtar man endast den datan man behöver med 2 st SQL frågor, medan man med metod 2 hämtar all data med endast 1 st fråga, men samtidigt får man med sig onödig information. Så till min fråga: vilket är rätt och snabbast?
men samtidigt får man med sig onödig information.
Varför får du onödig information? Du anger ju bara de fält i joinen du ska använda dig av, eller förstår jag din fråga fel?
Man får med sig forumets titel flera gånger (tillsammans med varje post) om man använder sig av en join som jag beskrev i metod 2:
[red]namn på den som postade | inlägget | forumets titel[/red]
Pace | Lite text | Café webforum
Jörgen HP | Mer lite text | Café webforum
LarsG | Ännu mer lite text | Café webforum
Men det är ju knappast SQL-frågans fel. Vill du optimera lite så sparar du bara ett id för forumets titel i den tabellen och har:
forumets titel | forumid | forumbeskrivning
i egen tabell. Är ju dumt att laga samma data på flera ställen. :D
Nej, det var inte så jag menade. Som jag skrev i första inlägget:
2. Hämta alla inläggen, med forumets titel "joinad" i select-frågan, så att forumets titel kommer med varje post.
Jag röstar för två olika frågor, för det låter mer logiskt... men jag tror inte att det spelar någon större roll. Kanske gör det det om du hämtar Riktigt Många Poster på Samma Gång, eftersom det blir till att skyffla en hel del data. Du kan ju göra ett benchmarktest för att pröva :)