by 유환 [Oracle 기초] [2020.03.25 11:19:33]
안녕하세요.~ 2가지 질문 여쭙겠습니다.
1번 /*+ LEADING(a b c d) USE_HASH(a b c d) */
2번 /*+ LEADING(a b c d) USE_HASH(b c d) */
힌트주는게 좀 명확하지 않다고 해야 하나....
1,2번 플랜이 동일하고 속도도 동일한대요..
원래 의도는 a테이블이 드라이빙 테이블이되어 해쉬테이블이 만들어지게 하고
b,c,d 순으로 해쉬조인 하려고 한건대
1번처럼 USE_HASH(a b c d) 이렇게 b c d가 아닌 a b c d 모두 쓰면 어떻게 해석 해야 하나요?
그리고 2번과 밑에 힌트랑 동일한거죠?
/*+ LEADING(a b c d) USE_HASH(b) USE_HASH(c) USE_HASH(d)) */