1. Exists 가 원인일까요?
- 테이블4.컬럼 에 인덱스가 있는지 확인.
- Exists 가 아닌 조인으로 변경 가능한지 확인.
2. 다른데는 문제가 없을까요?
- 실행계획 확인.
3. Not Exists 의 성능 향상
- Outer Join 후 Null 체크를 통해 성능이 향상됩니다.
1 2 3 4 5 6 7 8 9 |
SELECT COUNT(*) FROM 테이블1 A , 테이블2 B , 테이블3 C , 테이블4 D WHERE 조건 AND A.컬럼 = D.컬럼(+) AND D.컬럼 IS NULL ; |
여기서 IS NULL 체크조건을 넣으면 성능이 향상되는 이유가 뭘까요?
IS NULL 때문에 성능향상 되는게 아닙니다.
서브쿼리 방식을 조인방식으로 바꿔서 성능이 향상되는 것입니다.
글의 일부만 발췌해서 질문하시면 정보가 왜곡될 수 있습니다.
참조 링크를 걸어 주시면 좋겠네요.
http://gurubee.net/article/64123