[유플러스] 조인을 통한 서브쿼리 성능 개선
서브 쿼리와 조인
문제 상황
1. 쿼리에서 서브쿼리를 사용하는 상황 - 쿼리에 소요되는 시간만 10초
SELECT A.a, A.b, B.a,
(SELECT C.a
FROM C
WHERE C.b = A.a
AND C.c = A.b
AND C.d = B.b)
FROM A, B
WHERE A.c = B.c
해결 방안
1. 서브 쿼리 대신 조인을 사용 : 0.x초로 단축
SELECT A.a, A.b, B.a,
C.a
FROM A, B, C
WHERE A.c = B.c
AND C.b = A.a
AND C.c = A.b
AND C.d = B.b
서브쿼리의 경우 메인 테이블의 매 레코드마다 서브 쿼리 테이블을 풀스캔 해야하는 현상이 발생할 수 있다. 그러다보니 성능 상에 있어 문제가 발생한다. 이를 조인으로 대체함으로써 성능 상의 이점을 가질 수 있었다.