2011-08-11 14 views
0

どちらが優れたパフォーマンスを備えていますか?サブクエリまたはOUTER結合

SELECT *,(SELECT MAX(old) FROM employee WHERE employee.CompanyId = Company.Id) 
    FROM Company 

または

SELECT *,MAX(old) FROM Company LEFT OUTER JOIN employee 
     ON Company.Id = employee.CompanyId 

how about bigger queries ? 

ありがとう

+0

あなた自身で調べるためにクエリをテストしましたか? –

+0

それをテストし、測定し、プロファイルし、それをEXPLAINして、 "Execution Query Plan" ... – Jacob

+1

管理スタジオで統計と実行計画を両方とも試してみると、どちらが最速かがわかります。なぜあなたはテストできるのでしょうか? –

答えて

3

SQL Server Management Studioで両方のクエリを実行し、execution planを参照してください。

実行計画では、どのくらいのリソースを消費したかだけでなく、2つのクエリのどちらが他のクエリよりも多くのリソースを消費したかを示すだけでなく、両方を実行すると、 )。

1

サブクエリは、JOINクエリよりも一般的に低い性能を有します。

2

あなたが知っているなら、read execution plansを見てください。 SQL Serverが両方のクエリを同じ実行計画に最適化することは、とにかく推測されます。

関連する問題