2010-02-16 3 views

답변

1

예. 그 효과는 쿼리 실행 계획에서 볼 수 있습니다. thisthis을 참조하십시오. 다른 링크는 here

+1

더 많은 조인과 더 많은 조인이 사용되는 복잡한 쿼리에서 조인 시퀀스 효과를 볼 수 있습니다. –

4

아니요.

SQL Server의 옵티마이 저는 조인 순서에 관계없이 최선의 방법을 선택합니다.

SQL Server은 표가 나열된 순서대로 조인되도록하는 특수 힌트 FORCE ORDER을 지원합니다.

이러한 쿼리 :

SELECT * 
FROM t_a 
JOIN t_b 
ON  a = b 
OPTION (FORCE ORDER) 

SELECT * 
FROM t_b 
JOIN t_a 
ON  a = b 
OPTION (FORCE ORDER) 

생략하고 서로 다른 계획이 추가 OPTION (FORCE ORDER) 동일 계획을 생성한다.

그러나 자신이하는 일을 절대적으로 확신 할 때만이 힌트를 사용해야합니다.

+1

시스템이 완전히 느리게 죽지 않는 한 힌트를 사용하지 마십시오. SQL Server의 다음 버전이 다른 방식으로 작동하지 않는다는 것을 어떻게 알 수 있습니까? 이로 인해 힌트가 느려질 수 있습니다. –

0

옵티마이 저는 일반적으로 모든 조인 순서를 비교하고 쿼리를 작성한 순서에 관계없이 최적의 순서를 선택하려고 시도하지만 일부 복잡한 쿼리에서는 고려해야 할 옵션이 너무 많습니다. 가능한 조인 순서 수가 증가합니다 조인 된 테이블의 수의 팩토리얼로. 이 경우 옵티마이 저는 모든 옵션을 고려하지 않지만 쿼리에서 조인을 작성한 순서를 고려하므로 실행 계획 및 실행 시간에 영향을 미칠 수 있습니다.

0

외부 조인의 경우 테이블 순서에 따라 쿼리의 의미가 변경되고 실행 계획이 변경 될 가능성이 큽니다.

관련 문제