Kom ihåg mig?
Home Menu

Menu


Slutföra SQL query

 
Ämnesverktyg Visningsalternativ
Oläst 2012-09-06, 11:24 #1
frecka frecka är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
frecka frecka är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
Conny, vill du förklara vad den där queryn gör? Är inte så van vid att använda subquerys.

Och ORDER BY 1, vad händer om det är en etta?
frecka är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 18:23 #2
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av frecka Visa inlägg
Conny, vill du förklara vad den där queryn gör? Är inte så van vid att använda subquerys.

Och ORDER BY 1, vad händer om det är en etta?
Förklaringen till vad SQL-frågan gör står i inlägg nr 7. Det är vad jag tror att du är ute efter.

Nämligen att lista alla trådar men i en ordning där den tråd med senaste inlägget kommer först i listan. (Jag glömde dock DESC i ORDER BY).

Det är inget fel att använda subquerys, men ibland finns det effektivare sätt att lösa saker på, men de kan vara svårare att förklara.

Man ska INTE börja med att optimera en SQL-fråga eller progrankod över huvud taget utan först se till att den gör det den ska göra, Först sen börjar man fundera på att optimera och hitta snabbare eller mer minnes-snåla vägar att lösa samma problem. Såna saker lär man sig med tiden ju mer erfaren man blir inom systemutveckling.

Jag märker direkt vilka det är som gått utbildning på KTH och vilka som gått en riktig systemvetarutbildning, för KTHare har en tendens att alltid börja optimera innan de ens vet om de löst problemet eller inte. Därmed inte sagt att alla somgått KTH-utbildning är suboptimerande, men man ser mycket av den varan därifrån.

Fungerade SQL-frågan som du tänkt eller blev det fel resultat?

Subqueryn isig tar fram senaste datum för alla inlägg i just den enskilda tråden med samma thread_id och i detta fall fanns det två thread_id, 1 och 2 enligt form_thread-tabellen.

men eftersom alla inläggen ligger i form_posts så är det i den tabellen vi letar upp alla datumen. Denna subquesry kommer att exekveras för varje rad i form_thereads-tabellen, vilket i just detta fall innebär två exekveringar.

Jag förstår att du är ovan med SQL och därför väljer jag att visa mer pedagogiska lösningar som är lättare att förstå än att ge mig på onödig aoptimeringar innan vi vet om det löser det problem du vill lösa.

Senast redigerad av Conny Westh den 2012-09-06 klockan 18:36
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 18:36 #3
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Det är inget fel att använda subquerys, men ibland finns det effektivare sätt att lösa saker på, men de kan vara svårare att förklara.
Håller med. Det finns fall där det orsakar problem men många gånger leder sub-queries till tydlig kod och fullt godtagbar prestanda. Det beror på helt enkelt. Är man osäker kan man testa olika lösningar och mäta skillnaden.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017