Vad e det för skillnad på koden nedaför?
enligt min mening ingen...
strSQL = "Select * From Tabell1,Tabell3 Where Tabell1.Id = Tabell2.Id2"
eller
strSQL = "Select * From Tabell1 Join Tabell3 On Tabell1.Id = Tabell2.Id2"
Finns det någon prestanda skillnad?
någons om vet
------------------
"Brott kanske inte lönar sig, men det är kul"
LarsGMedlem sedan dec. 200012 464 inlägg Dom är helt likvärdiga enligt min mening också.
------------------
essentitia preter non sans multiplicandum
Jag, visst är det prestandaskillnad. I den första SQLen som hämtar man ju först ut allt från tabell1 och tabell3 så det blir (antal poster i tabell1 * antal poster i tabell3) poster. Sen plockas det som man vill ha ut i wheren.
I joinen hämtar man ju från tabell1 och joinar in det som matchar i tabell3.
Andra är alltså bättre. Jag har väl rätt nu..?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp3d/
Dessa tre är enligt mig samma sak:
Select * From Tabell1,Tabell3 Where Tabell1.Id = Tabell3.Id2
Select * From Tabell1 Join Tabell3 On 1 = 1 Where Tabell1.Id = Tabell3.Id2
Select * From Tabell1 Cross Join Tabell3 Where Tabell1.Id = Tabell3.Id2
------------------
/Erik
www.juhlin.nu /sk8files/ /mp3d/
LarsGMedlem sedan dec. 200012 464 inlägg Det är ingen sql-kompilator som utför en cross-join innan man applicerar where-villkoret.
------------------
essentitia preter non sans multiplicandum
De fungerar alltså inte likadant...
Men jag har väl rätt i mitt påstående att Nickemannens andra SQL är bäst prestandamässigt..?
------------------
/Erik
www.juhlin.nu /sk8files/ /mp3d/
LarsGMedlem sedan dec. 200012 464 inlägg Nej.
------------------
essentitia preter non sans multiplicandum