어제 SQL 문장들을 살펴보다 그간 무심코 지났쳤던 것을 찾았다.
어의가 없는 것이었다. 이젠 그런 과오를 범하지 말아야지.
단순한 것이다. 어쩜 누구나 알고 있는...
세개의 테이블을 조인하는데 A와 B는 마스터와 상세내역이고 나머지는 머 출고라고 하자. 물론 A, B는 마스터 상세내역으로 키가 연결이 되어있다. 즉 문제가 없다. 다만 마지막 출고테이블을 조인할 경우에 조인하는 필드가 세개라고 한다면 그 세개를 모두 한 테이블에서 가져오는 것이 속도에서 엄청난 차이를 보인다는 것이다.
즉...
SELECT A.REQNO, B.PRODCODE, C.OUTQTY
FROM GEREQMT A, GEREQDT B, GEPROTMT C
WHERE B.REQNO = A.REQNO
AND C.REQNO = B.REQNO
AND C.PRODCODE = B.PRODCODE
이렇게 해야 한다는 것이다.
만일 아래와 같이 한다면...
SELECT A.REQNO, B.PRODCODE, C.OUTQTY
FROM GEREQMT A, GEREQDT B, GEPROTMT C
WHERE B.REQNO = A.REQNO
AND C.REQNO = A.REQNO
AND C.PRODCODE = B.PRODCODE
인내심을 길러야 할 거 같다.
댓글 없음:
댓글 쓰기