본문 바로가기
MS-SQL

Merge 조인, hash 조인 방식

by kcj3054 2022. 4. 6.

Merge Join

  • merge조인에는 many to many 와 one to many가 있다 여기서 many to many는 다대다 방식으로 outer 바깥쪽인 중복되는 데이터가 있다는 것이다. 여기서 바까쪽에서 one. 유일한 데이터들이 매우 중요하다...
SELECT *
FROM players AS p
    INNER JOIN salaries AS s
    ON p.playerID = s.playerID
  • 여기서 실행계획을 살펴보면 merge join이고, many to many이다... 그런데 players에 p.playerID 는 인덱스가 걸려있다. (nonclustered)... 그런데 왜 indexScand을 할까? 이유는 nonClustered이니 해당 값을 가지고 Heap Table로 다시 가거나, Clustered로 이동을 또 해야하기에 그럴빠엔 scan을 하는 것이 더 빠르다고 생각했기때문이다.

결론

  • merge join에서 outer가 unique하다면.. 좋다(one to many) one은 outer가 유일하다는 뜻..
  • 루키스님의 서버db강의를 학습 후 작성하였습니다.

'MS-SQL' 카테고리의 다른 글

서브쿼리 (미완)  (0) 2022.04.06
NestedLoop(Join)  (0) 2022.04.06
Sorting  (0) 2022.04.06
인덱스 칼럼순서  (0) 2022.04.06
북마크 룩업  (0) 2022.04.05