역시 튜닝은 DB 모델링 시기부터 진행되어야 함을 다시 한번 뼈저리게 되새기는 기회가 되었습니다. 일단 아래 쿼리를 보시죠. (참고로 DB 클라이언트는 WareValley 사의 Orange 입니다). 두 테이블을 조인해 오는데, Hash Join 이 됩니다. 이부분은 어쩔 수 없는 부분이라 지금 이야기 하는 주제는 아닙니다. 양 테이블 모두 데이타가 천만건 단위로 쌓여 있기 때문입니다. 아래 쿼리는 두번째 테이블(b) 을 Full Scan 하기 때문에 좋은 구조는 아닙니다. 힌트를 주더라도 Full 스캔되는 것은 마찬가지 입니다. 물론 한쪽은 인덱스를 탑니다만.. 그래서 일단 exists 로 b 테이블을 내려 보내고 exists 문 안에서는 힌트를 주었습니다. 힌트는 b 테이블에 a 테이블과 조인하는 키..