9,10 동일하지만 10번이 탭스가 더 깊기때문에...
12부터 읽어야 하는거 아닌가여???
by finecomp
[2009.12.15 16:37:34]
플랜보는 법을 외우려고 하지마세요...;
8의 hash조인이 되려면 9의 집합을 build-in으로하고 10의 view를 탐색하여 조인한다는 계획입니다.
10의 view는 11 group by가 끝나기 전엔 알 수 없고 group by는 12의 데이터를 scan하기전엔 절대 알 수 없습니다.
해서 당연히 9>12>11>10>8 순으로 scan하고 hash로 연결을 완성하겠단 계획입니다.
by 질문자
[2009.12.15 16:39:48]
그럼..해쉬가 아닌 네스트루푸 조인인경우도 9 , 12 순으로 돼는건가요??
by finecomp
[2009.12.15 16:45:35]
넵...또한 sort merge join이라도 마찬가지...;
보통은 그런데 1번처럼 FILTER가 나오는 형태는 주의가 필요합니다.
Filter Plan은 Main 1row당 filter아래에 해당하는 플랜들이 한번씩 반복적으로 수행되는 경우도 있고 아닌 경우(단순 filtering...?)도 있기 때문에...;
by finecomp
[2009.12.15 16:48:00]
뭐가 되었던 위 계획에서는 9>12의 순은 유지되겠죠...반복수행이냐 아니냐의 차이는 있겠지만요...ㅎㅎ;
by 마농
[2009.12.15 16:53:19]
보통 뎁스가 가장 깊은데서부터 읽는다는 표현을 쓰는데요.
잘못된 표현입니다. 이 표현 때문에 많은 사람들이 헷갈려 하구요.
동일 레벨의 경우 위에서 아래로 읽는것이 우선이구요.
하위레벨에서 상위레벨로 치고 올라오는 식으로 읽으시면 됩니다.
by 질문자
[2009.12.15 17:04:23]
감사합니다.
그럼 댑스가 제일 깊은것은 선행 테이블이 뭔가 볼때...처음에만 그렇게 보는건가요?
by 마농
[2009.12.15 17:17:09]
이런 경우는 이렇게 풀리고 저런 경우에는 저렇게 풀린다 식으로 이해하지 마세요.
규칙은 단 두가지이고요 모든 경우에 해당됩니다. 예외는 없습니다.
동일 레벨의 노드들중에서는 위에것이 먼저 수행되구요.
하위노드를 가진 노드의 경우에는 하위노드가 먼저 수행됩니다.
by 질문자
[2009.12.15 17:18:27]
그럼 만약에.... 이미지 에서 12번 다음에.... 또 댑스가 있어도...
7번 부터 읽는건가요?? 위에서 부터 읽어서 치고올라가는 방식이라면...
by 질문자
[2009.12.15 17:25:11]
마농님 하위노드를 가진 노드의 경우에는 하위노드가 먼저 수행됩니다.
이 말슴 대로라면 ... 댑스가 제일 깊은거 부터 읽는다는 말과 같지 않나요?
by finecomp
[2009.12.15 17:26:05]
당연하죠...각각의 집합의 뎁스와 조인순서는 전혀 다른 얘기입니다...;
현재 3의 조인이 완성되려면 7을 읽어 만든 4번view를 가지고 8의 결과집합을 조인한단겁니다.
8집합 내에서 무슨 일이 벌어지던 4의 집합을 먼저 만들어야 8과 조인이 가능한 것은 변함이 없습니다...;
by finecomp
[2009.12.15 17:27:09]
헉 그새 질문이 늘었네요...당연하죠는 7번 부터 읽는 건가요? 의 대답입니다...;
by 마농
[2009.12.15 17:49:53]
7번보다 더 깊은 13번이 있다고 해도 13번이 7번보다 먼저 수행되지는 않습니다.
왜냐하면 7번의 상위인 4번과 13번의 상위인 8번중에 4번이 먼저 수행되어야 하기 때문이죠.
이 때문에 댑스가 깊은게 먼저 수행된다고 암기하시는 것은 크나큰 잘못입니다.
by 질문자
[2009.12.15 17:59:13]
넵.감사합니다.
근대
동일 레벨의 노드들중에서는 위에것이 먼저 수행되구요. <-- 이말뜻은 이해를 햇습니다.
근대
하위노드를 가진 노드의 경우에는 하위노드가 먼저 수행됩니다. <-- 이건 무슨 뜻인가요??
by 채용근
[2009.12.15 18:56:39]
12번 보다 11번이 먼저 수행돼진 않는다구요...
by 요루
[2009.12.31 17:07:45]
좋은글 감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.