SQL 질문과 답변 게시판
먼저, \
TABLE A, B 가 있으며, A가 마스터 테이블로 B는 마스터의 종속 테이블입니다.
A테이블엔 A컬럼이 PK INDEX
B테이블엔 A,B 컬럼이 복합 인덱스PK
로 되어있구요.
이런 상황에서 조인을 할 경우,
OUTER JOIN, INNER 를 사용할 경우, 결국 네스티드 루프 조인이 실행결과에 나오는데요.
A
LEFT OUTER JOIN B
ON B.A = A.A
AND A.DELETE_FLG = 0
으로 흔히 쓰는 조인을 하는 것과
루프조인의 경우 반드시 한쪽은 테이블 스캔이 일어아는데요. 이러면 랜덤엑세스가 일어날테구요. 그래서 생각한게
둘다 인덱스를 못쓰게 해서 해쉬 조인을 유도하면 어떨까 해서
A
LEFT OUTER JOIN B.A = A.A+`` 하니 해쉬로 풀리는데
어떤게 성능상 이득이 있을까요?
공부중이긴 한데 참 머리 아프네요..ㅋ;;;
A 테이블은 비교적 적은 양이며,
B는 종속이라 항상 A보다는 많은 양의 데이터가 누적되고 수정됩니다.
>.<
추가.
참. 마지막 결과는 그룹함수로 그룹핑을 하게 됩니다. b테이블의 내용은 검색으로 활용할뿐, 결과는 a의 마스터 테이블의 내용이기 때문에요...>.<
추가2. 제대로 좀 공부해보려고 상세하게 짠 쿼리를 올려봅니다...ㅎ

어떤 조인방식이 우월한가에 대한 질문이라면... 데이터 크기, 분포도, 인덱스 상황에 따라 다른 답이 나올 것 같습니다만...
그런데.. 혹시 일본에서 일하시는가요? 오웅....

하만철

데이터가 별로 없는것 같네요.
데이터가 좀 많은 것으로 테스트 해보시길바랍니다.
그럼 다양한 결과를 얻으실수있을듯합니다..