오라클에서 서브쿼리를 이용해서 성능적으로 많은 효과를 봤는데요..
mysql에서는 어떨지 모르겠습니다.
테스트디비가 없는 관계로 테스트하기가 어려워서
이렇게 경험있는 분들의 조언을 얻고자 질문을 올려봅니다.
select
..
from
a A join b B on B.no = A.no
join c C on C.no = A.no
join d D on D.no = A.no
join e E on E.no = A.no
where
and B.cate_no = '..'
and C.area = '..'
and D.code = '..'
and E.type = '..'
이런게 있다면
select
A.name,
B.name,
C.name,
D.name,
E.name
from (
select
no
from
(select no from a) A
join (select no from b where cate_no = '..') B on B.no = A.no
join (select no from c where area = '..') C on C.no = A.no
join (select no from d where code = '..') D on D.no = A.no
join (select no from e where type = '..') E on E.no = A.no
) A
join b B on B.no = A.no
join c C on C.no = A.no
join d D on D.no = A.no
join e E on E.no = A.no
이렇게 바꾼다면 효과가 있을런지요..
이거의 요지는 조인할때 오직 키만 갖고 하고서(최종 row는 몇개가 안되는 상태)
마지막에 필요한 컬럼을 갖고오기 위해 최종 row으로 다시 조인하면
좀더 빨라지지 않을까 싶은데..어떤가요..
|