by 꾼이되자 [Oracle Tuning] postgresql hash join [2023.12.08 10:47:17]
우선 글 내용에 실행계획이 직접 등록이 안되어서 파일첨부 하였습니다.
보기 불편하시더라도... ^^;
제가 알기로는 Postgresql에서 hash join을 읽는 순서는 타 DBMS와 달라서 아래부분의 테이블 또는 인덱스 먼저 읽는다고
알고있었는데... 실행계획을 읽다보면 아닌거 같아서 여기에 글 남깁니다. 제가 구버전의 PG 실행계획으로 알고있는걸까요? (9.6버전으로 되어있는 책을 읽었습니다)
첨부파일에서 보면 실행계획 순서는 6 > 7 > 5 > 4 > 3> 2> 1 으로 읽는거 아닌가요?
(4번에서 5번과 아래쪽의 어떠한 것과 hash join 하는 부분은 잘렸네요... ^^; 죄송)
어째든 제가 궁금한건 1번이 hash join이니 '3>2'부터 읽는게 아니라 6>7>5>4 그룹부터 읽는게 아닌가 싶은데요...
실제로 SQL을 보면 그렇게 읽는거 같지 않거든요... 왜냐하면 2번에서 읽은 테이블의 컬럼이 아래 hash join되는 테이블의 조건절의 값으로 들어가거든요...
고수님들의 답변 기다리겠습니다.