TravoniMedlem sedan okt. 20041 556 inlägg Dessa två ger samma resultat, men vilken skall jag använda ur prestandasynpunkt?
SELECT c.Id,c.CategoryName FROM categories c WHERE TemplateId = (SELECT TemplateId FROM categories WHERE id = 2)
ORDER BY c.CategoryName
SELECT c2.Id,c2.CategoryName FROM categories c
INNER JOIN categories c2 ON c2.TemplateId = c.TemplateId
WHERE c.id = 2
ORDER BY c2.CategoryName
Här kommer nog förr eller senare SQL-kungen LarsG både komma med en ännu effektivare SQL-query samt, bevisa att dina queries kan ge olika resultat i något obskyrt specialfall.
Fram tills dess: Varför inte mäta själv genom att köra vardera fråga 100 gånger och mäta tiden det tar för att få en ungefärlig bild?
colioneMedlem sedan juni 20014 421 inlägg Det varierar beroende på fall, men i majoriteten av fallen har jag för mig att en join är snabbare. Sen finns det joins som är snabbare än andra joins.