SELECT *
FROM EMP A
, DEPT B
WHERE A.DEPTNO = B.DEPTNO -----1
AND A.DEPTNO = '20' -----2
궁금한게
1번 조인먼저 실행되는지.
아님 2번 먼저 실행되는지 궁금합니다
플랜 떠봐야 자세히 알수있습니다.
데이터량과 인덱스 유무로 옵티마이저가 최적의 플랜을 찾아냅니다.
[Oracle]옵티마이저와 신나게 노는 방법 by 김정식 ~~> http://www.gurubee.net/article/10134
안정적인 운영을 위한 실행계획 제어 1 ~~> http://www.gurubee.net/lecture/2754
EXPLAIN_PLAN(실행계획) ~~> http://wiki.gurubee.net/pages/viewpage.action?pageId=688200
조인 후에 대상을 줄이는 것보다
대상을 줄인 뒤 조인을 하는 것이 더 효율적입니다.
더 효율적인 계획을 수립하려고 노력할 것입니다.
따라서 대상을 먼저 줄이게 되는데
위와 같이 조인조건과 검색조건의 항목이 같은 경우에는
b.deptno = 20 이라는 조건이 자동으로 붙게 됩니다. (조건절 이행)
a 에서 20을 걸러낸 후 b 와 조인 할 수도 있고,
b 에서 20을 걸러낸 후 a 와 조인 할 수도 있고,
양쪽다 20을 걸러낸 후 머지할 수도 있고.
어떻게 풀릴지는 주어진 여러가지 변수에 따라 다르게 플릴 것입니다.