가입SQL Server 2008은 내가이 쿼리를 최적화하기 위해 노력하고, 최근 힌트
UPDATE Analytics
SET UserID = x.UserID
FROM Analytics z
INNER JOIN UserDetail x ON x.UserGUID = z.UserGUID
예상 실행 계획 해시 일치 (집계)에 표 업데이트에 57 %와 40 %를 보여줍니다. 나는 주변에서 기웃 거리며 약간의 힌트를 얻었습니다. 그래서 내 안쪽 조인과 WA-ZHAM에 LOOP 힌트를 추가했습니다! 새 실행 계획은 Table Update에서 38 %, Index Seek에서 58 %를 보여줍니다.
그래서 신중함이 나에게 좋을 때까지 모든 검색어에 루프 힌트를 적용하려고했습니다. 인터넷 검색을 한 후, JOIN 힌트가 BOL에 포함되어 있지 않음을 알게되었습니다. 따라서 ...
- 누군가 내 질문에 LOOP 힌트를 적용하는 것이 좋지 않은 이유를 말해 줄 수 있습니까? LOOP JOIN은 쿼리 최적화 프로그램의 기본 JOIN 메서드이지만 명령문의 유효성을 확인할 수 없다는 어딘가에 읽었습니까?
- JOIN 힌트는 언제 사용됩니까? sh * t가 팬을 때리고 유령의 버스터가 마을에 없을 때?
- LOOP, HASH 및 MERGE 힌트의 차이점은 무엇입니까? BOL은 MERGE가 가장 느린 것 같지만 각 힌트의 적용은 무엇입니까?
시간 내 주셔서 감사합니다.
SQL Server 2008 BTW를 실행하고 있습니다. 위에 언급 된 통계는 예상 실행 계획입니다.
이 문제를 조사하기 전에 색인 및 통계가 최신 상태입니까? – Paddy
예 그들은 최신입니다 – super9