2011-08-11 2 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

테스트, 측정, 프로파일 링, 설명, "Execution Query Plan"... – Jacob

+1

관리 스튜디오에서 통계 및 실행 계획을 모두 사용하면 어느 것이 가장 빠릅니다. 시험을 볼 수있을 때 왜 추측합니까? –

답변

3

SQL Server Management Studio에서 두 쿼리를 모두 실행하고 execution plan을 확인하십시오.

실행 계획은 쿼리의 어느 부분이 얼마나 많은 리소스를 사용했는지 알 수있을뿐만 아니라 두 쿼리 중 어느 것이 다른 리소스보다 많은 리소스를 사용했는지 알려줍니다 (두 가지를 동시에 실행하면 실행 계획의 값이 백분율).

1

하위 쿼리가 쿼리를 가입에 비해 일반적으로 낮은 성능을 가지고 감사합니다.

2

read execution plans하는 방법을 알고 있다면보십시오. SQL Server는 두 쿼리를 동일한 실행 계획에 최적화 할 것입니다.

관련 문제