2011-05-15 2 views
0

해시 힌트 조인을 명시 적으로 사용할 위치를 어떻게 알 수 있습니까? 때때로 쿼리 최적화 프로그램이 속임수를 쓰고 때로는 성능에 영향을주는 힌트를 적용합니까?명시 적으로 조인에 대한 해시 힌트 언급

+2

"가격을 물어야 만한다면, 그럴 여유가 없습니다" –

답변

1

저는 개인적으로 조인 힌트를 사용한 적이 없습니다.

해당 시점의 데이터 및 통계에 유용합니다. 내가 사용하는 것을 보았던 곳은 열악한 디자인이나 빈약 한 색인 생성 또는 가난한 쿼리 구조를 가려서 사용하지 않는 것입니다. 해시 조인 자체가 나쁨이 아닙니다.

조인 힌트가 필요하다고 생각되는 위치에 쿼리를 표시 할 수 있습니까? 그리고 우리는 다른 솔루션을 제안 할 수 있습니다 ...

+1

CDC 통계를 사용하여 프로젝트를 수행 할 때주의해야 할 점은 신속하게 동기화되지 않고 차이가 발생할 수 있다는 것입니다. 중첩 루프 조인 및 해시 조인이 있습니다. 이러한 경우 해시 조인, 병합 조인 또는 중첩 루프 조인은 여전히 ​​이상적이지만 통계가 해제되어 있기 때문에 SQL Server는 알 수 없습니다. 때로는 통계 업데이트 + 쿼리가 해시 조인/병합 조인/중첩 루프 조인이 특히 데이터 집합이 매우 작아 질 것으로 생각하기 때문에 미리 읽기를 수행하지 않을 때 이해가되지 않는 몇 가지 인스턴스보다 느립니다 통계가 약간 떨어져 있기 때문입니다. – JStead

+0

해시를 사용할 때 엄청난 성능 향상을 보았습니다. 필자가 알고있는 쿼리가 빨리 실행되어야 할 때 영원히 끝내는 마지막 수단으로 만 사용합니다. 내 envrionment 다르다. 나는 수백 개의 테이블 중 어느 것과도 외래 키 관계가없는 타사 데이터베이스에서 작업합니다. SQL Server가 이러한 관계를 사용하여 최적의 계획을 세우고 있다고 생각합니다. 그게 올바른 가정입니까? – MikeTeeVee

+0

@MikeTeeVee : 어 ... 확실하지 TBH. 나는 뭔가를 읽었지만 권위있는 출처를 찾으려고 노력할 것입니다. – gbn

관련 문제