쿼리에서 join을 사용하는 시퀀스가 실행 시간에 영향을 줍니까?쿼리에서 join을 사용하는 시퀀스가 실행 시간에 영향을 줍니까?
2
A
답변
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
외부 조인의 경우 테이블 순서에 따라 쿼리의 의미가 변경되고 실행 계획이 변경 될 가능성이 큽니다.
관련 문제
- 1. 주석은 컴파일 시간에 영향을 줍니까?
- 2. 조건문의 인수 순서가 PHP의 실행 시간에 영향을 줍니까?
- 3. 필드 크기가 쿼리 시간에 영향을 줍니까?
- 4. MEF는 응용 프로그램로드 시간에 어떤 영향을 줍니까?
- 5. iframe이 페이지로드 시간에 영향을 줍니까? 왜 안돼?
- 6. UPDATE 쿼리에서 JOIN을 사용하는 방법
- 7. linq 쿼리에서 join을 사용하는 방법은 무엇입니까?
- 8. NUnit이 성능에 영향을 줍니까?
- 9. L2 캐시 크기는 컴파일 시간에 얼마나 큰 영향을 줍니까?
- 10. 중첩이 효율성에 영향을 줍니까?
- 11. IHTTPModule 성능에 영향을 줍니까?
- 12. 정적 메서드는 PHP 개체의 크기에 영향을 줍니까?
- 13. Response.Redirect가 Google Analytics에 영향을 줍니까?
- 14. 어떻게 RedirectToRoute가 SEO에 영향을 줍니까?
- 15. 뷰 정의의 테이블 힌트가 뷰에 영향을 줍니까?
- 16. SQL Server - 트리거가 @@ Rowcount에 영향을 줍니까?
- 17. 메서드 내에서 Linq 쿼리를 사용하면 지연된 실행에 영향을 줍니까?
- 18. 공백 제거는 순위에 영향을 줍니까?
- 19. 데이터베이스보기가 쿼리 성능에 영향을 줍니까?
- 20. SO_RCVTIMEO가 accept()에 영향을 줍니까?
- 21. 액세스 한정자는 성능에 영향을 줍니까?
- 22. 난독 화가 성능에 영향을 줍니까?
- 23. setbuf()가 cout에 영향을 줍니까?
- 24. URL의 길이가 레이아웃에 영향을 줍니까?
- 25. exclusiveTouch의 속성이 하위보기에 영향을 줍니까?
- 26. dict.update가 함수의 argspec에 영향을 줍니까?
- 27. 브래킷 배치가 가독성에 영향을 줍니까?
- 28. 복제가 activerecord 콜백에 영향을 줍니까?
- 29. 수정 자도 반사에 영향을 줍니까?
- 30. Linux에서 ACL이 성능에 영향을 줍니까
더 많은 조인과 더 많은 조인이 사용되는 복잡한 쿼리에서 조인 시퀀스 효과를 볼 수 있습니다. –