- p.300 : 서브쿼리 종류 명확히하기 (용어 헷깔리게 해놨음)
- p.305 : 왜 실행계획에 nested loops 가 두번 나타났지?
- p.302 : 4.4.2 절은 중첩서브쿼리와 조인을 다루는 것임
- p.303 : 상단에서 ‘필터’ 방식과 ‘NL조인’방식의 차이를 정리할 것
- p.305 : 하단에서 서브쿼리가 Driving될 수 있는 이유는?
- p.310 : 서브쿼리 PUSHING의 효과를 그림으로 표현해보기
- p.311 : 인라인뷰는 기본이 독립적인 최적화이다.
- 뷰머징을 통해 ‘조인’으로 변경한다.
- 부분범위처리 문제를 해결하지 못한다.
- p.313 : 하단 조인조건 Pushdown (PUSHED PREDICATE)
- SORT GROUP 실행계획이 나왔어도 Inner 테이블은 전체를 읽어야해도 Outter가 중간에 읽고 멈출 수 있을 것 따라서 부분범위처리가능
- p.317: 하나의 조인문 이라는 표현에 조심하자. 엑세스는 조인에 참여하는 테이블 순으로 진행
- 함수는 서로다른 실행엔진이 관여
- 스칼라서브쿼리는 한 SQL실행엔진만 관여
- 서브쿼리 비교
- 중첩서브쿼리 : 필터Oper 이며 오직 필터다!!
- unnest된 중첩서브쿼리 : 세미NL조인 힌트를 통해 캐싱기능 + nl조인 을 도모할 수 있다
- 스칼라서브쿼리 : 실행계획은 nl조인과 다르지만, NL조인과 동일한 프로세스인데 캐싱기능을 갖춤(p.322)
- p.324하단 스터디하면서 정리해보자