실행 계획을 배우기 시작했으며 해시 일치가 정확히 어떻게 작동하고 간단한 조인에 사용되는지에 대해 혼란스러워합니다.
select Posts.Title, Users.DisplayName
From Posts JOIN Users on
Posts.OwnerUserId = Users.Id
OPTION (MAXDOP 1)
내가 이해 한 것처럼 최상위 인덱스 스캔의 결과는 해시 가능이되고 맨 아래 인덱스 클러스터 스캔의 각 행이 조회됩니다. 해시 테이블이 적어도 어느 정도 작동하는 방식을 이해하지만이 예제에서 어떤 값이 정확하게 해시되는지 혼동됩니다.
내가 이해하는 것은 그들 사이의 공통 필드 인 id가 해시됩니다. 그러나 이것이 사실이라면 왜 숫자를 해시합니까?