sql-tuning 31
- SUM 집계를 SUM OVER 분석함수로 변환
- 분석함수 — MAX 집계를 RANK OVER 함수로 변환
- View Merging 으로 얻는 이익
- UNION ALL 을 PARTITION BY 로 변환 (Partition Outer Join)
- UNION ALL 을 GROUPING SETS 로 변환
- UNION ALL 사용시 공통으로 사용하는 테이블을 분리
- SubQuery Unnesting
- Star Transformation 을 이용해 Fact 테이블과 Dimension 테이블 Join
- SEMI JOIN 시 Driving 테이블로 변경 (Driving Semi Join)
- Scalar Subquery
- Scalar Subquery 와 일반 Join 간의 변환 시 1대M 관계 정의 (일반 조인을 Scalar Subquery 로)
- Scalar Subquery Filter Push Down 으로 풀어내기
- PLAN Right Deep Tree VS Left Deep Tree (공식화)
- Paging 처리할 때 Join 전 먼저 Paging 처리하여 Join 부하 감소
- Join Predicate Push Down(JPPD)
- Join Predicate Push Down(JPPD) 는 UNION ALL & UNION VIEW 가 있을 때 가능
- Join Predicate Push Down (JPPD) 는 Semi Join 상황에도 SubQuery 에 침투 가능
- Join Predicate Push Down (JPPD) 는 Group By 가 있는 View 도 침투 가능 (2)
- Join Predicate Push Down (JPPD) 는 Group By 가 있는 View 도 침투 가능 (1)
- HASH Semi Join