Front Page
2011.08.23 11:55
Bysql.Net/ 2011년 두번째 (Double Track) / 2011.08 ~ 2011.12
* 2011년 1차 스터디 튜닝과정중 A 조 를 위한 스터디 문서 입니다.
1. 주교재
The Logical Optimizer
: 성능향상을 위한 트랜스포머의 SQL 재작성 전략양장
오동규 저 | 오픈메이드
2. 진행기간
2011. 08. 20 ~ 2011. 12.
3. 목표
스터디 팀원 각자의 능력 향상
스터디 팀원 간의 관련지식 공유
※ 그룹 스터디라고 하더라도 각 개인의 하고자 하는 의지가 가장 중요하므로
각 팀원은 스터디 기간동안 발표유무와 별도로 매주 전 부문을 정독하여 주시기바랍니다.
4.1. 발표일정
자료마감: 매주 일요일
발표: 매주 화요일
주차 | 일자 | 발표자 | 내용 | Page | 마감일 | Coordinator | 진행 | 기타 |
1 | 8/30 | 김범석 | [Part 1 - Query Transformation Concept] |
| 8/28 | 김범석 | ![]() | |
[1.1 Logical Optimizer(Transformer)란 무엇인가] | 25 |
|
| |||||
[1.2 Query Transformation을 알아야 하는 이유] | 27 | ![]() |
| |||||
장영천 | [1.3 Query Transformation의 개념] | 31 | ![]() | |||||
[1.4 Query Transformer의 구조] | 33 | ![]() | ||||||
2 | 9/6 | 조문숙 | [1.5 DBMS_XPLAN.DISPLAY_CURSOR] | 37 | 9/4 |
|
|
|
[1.6 내가 사용한 Hint가 무시되는 이유] | 45 |
|
|
| ||||
이영준 | [1.7 10053 Event Trace] | 54 | ![]() | |||||
3 | 9/20 | 장영천 | [Part 2 - Heuristic Query Transformation] | 9/18 | ![]() | |||
[2.A Heuristic Query Transformation이란?] | 69 | ![]() | ||||||
[2.1 CSE (Common Subexpression Elimination)] | 71 | ![]() | ||||||
[2.2 JE(Join Elimination)] | 73 | ![]() | ||||||
[2.3 OE (Outer Join Table Elimination)] | 77 | ![]() | ||||||
[2.4 OJE(Outer-Join Elimination)] | 80 | ![]() | ||||||
김범석 | [2.5 OBYE(Order By Elimination)] | 84 | ![]() | |||||
[2.6 DE (Distinct Elimination)] | 86 | ![]() | ||||||
[2.7 CNT(Count(column) To Count(*))] | 91 | ![]() | ||||||
[2.8 FPD (Filter Push Down) ] | 93 | ![]() | ||||||
[2.9 TP* (Transitive Predicate) ] | 97 | ![]() | ||||||
4 | 9/27 | 4 | [2.10 SVM (Simple View Merging) ] | 100 | 9/25 | ![]() | ||
4 | [2.11 LV*(Lateral View)] | 104 | ![]() | |||||
4 | [2.12 FOJC* (Full Outer Join Conversion) ] | 112 | ![]() | |||||
조문숙 | [2.13 NFOJ* (Native Full Outer Join)] | 117 | ![]() | |||||
[2.14 OT* (Operator Transformation)] | 119 | ![]() | ||||||
[2.15 PM(Predicate Move Around)] | 123 | ![]() | ||||||
[2.16 WCOTR* (Where Current Of To Rowid)] | 127 | ![]() | ||||||
5 | 10/4 | 김범석 | Heuristic Query Transformation for Subquery | 10/2 | ![]() | |||
[2.17 SSU(Simple Subquery Unnesting)] | 132 | ![]() | ||||||
[2.18 CRSW (Correlated Removal Subquery Using Window Function)] | 138 | ![]() | ||||||
[2.19 URSW (Uncorrelated Removal Subquery Using Window Function)] | 142 | ![]() | ||||||
[2.20 SJ (Semi Join)] | 145 | ![]() | ||||||
[2.21 AJ (Anti Join)] | 151 | ![]() | ||||||
장영천 | [2.22 ANTI NA(Anti Join Null Aware)] | 156 | ![]() | |||||
[2.23 OJTAJ*(Outer Join to Anti Join)] | 160 | ![]() | ||||||
[2.24 EJE*(Enhanced JE)] | 164 | ![]() | ||||||
[2.25 JESJ*(Join Elimination Using Self Join)] | 168 | ![]() | ||||||
[2.26 SSTS*(Scalar Subquery To Subquery)] | 172 | ![]() | ||||||
6 | 10/11 | 3 | [2.27 SQC (Subquery Coalescing)] | 177 | 10/9 | ![]() | ||
3 | [2.28 DSJ (Driving Semi Join)] | 181 | ![]() | |||||
3 | [2.29 SJR*, AJR*(Hash Join Right Semi/Anti)] | 188 | ![]() | |||||
3 | Heuristic Query Transformation for Data Warehouse | ![]() | ||||||
3 | [2.30 PC* (Pivot Conversion)] | 194 | ![]() | |||||
1 | [2.31 GBEP* (Group By Extension Pruning)] | 198 | ![]() | |||||
1 | [2.32 GSTT* (Grouping Sets Using Temp Table)] | 204 | ![]() | |||||
1 | [2.33 GSTU* (Grouping Sets To UNION)] | 207 | ![]() | |||||
1 | [2.34 GSTR*(Grouping Sets To Rollup)] | 211 | ![]() | |||||
1 | [2.B Part 2를 마무리 하며] | 213 | ![]() | |||||
![]() | ||||||||
2 | [Part 3 - Cost Based Query Transformation] | ![]() | ||||||
2 | [3.A Cost Based Query Transformation이란 무엇인가] | 223 | ![]() | |||||
2 | [3.B Search Type과 Iteration이란 무엇인가] | 226 | ![]() | |||||
2 | [3.1 CBPPD*(Cost Based Predicate Push Down)] | 228 | ![]() | |||||
1 | [3.2 PPU(Predicate Pull Up)] | 234 | ![]() | |||||
1 | [3.3 OR-Expansion(OR To Union All Conversion)] | 241 | ![]() | |||||
1 | [3.4 OR-Expansion Using Function*(NVL, DECODE, RANK To Union All)] | 249 | ![]() | |||||
3 | [3.5 TE (Table Expansion)] | 255 | ![]() | |||||
3 | [3.6 SJC (Set To Join Conversion) ] | 260 | ![]() | |||||
3 | [3.7 CSU (Complex Subquery Unnesting) ] | 271 | ![]() | |||||
2 | [3.8 CVM( Complex View Merging ) ] | 278 | ![]() | |||||
2 | [3.9 JPPD Union View] | 284 | ![]() | |||||
2 | [3.10 JPPD Union All View] | 291 | ![]() | |||||
1 | [3.11 JPPD Outer Join View] | 294 | ![]() | |||||
1 | [3.12 Multi Level JPPD] | 298 | ![]() | |||||
1 | [3.13 JPPD Extension] | 304 | ![]() | |||||
2 | [3.14 GBP (Group By Placement) ] | 312 | ![]() | |||||
2 | [3.15 GBPD (Group By Push Down)] | 315 | ![]() | |||||
2 | [3.16 JF(Join Factorization)] | 319 | ![]() | |||||
[3.17 ST ( Star Transformation )] | 324 | ![]() | ||||||
[3.18 CBST (Cost Based Star Transformation)] | 330 | ![]() | ||||||
[3.19 MVR(Materialized View Rewrite)] | 336 | ![]() | ||||||
[3.20 JBE (Join Back Elimination)] | 341 | ![]() | ||||||
[3.C Part 3을 마무리 하며] | 345 | ![]() | ||||||
![]() | ||||||||
[Part 4 - Cost Based Query Transformation Internal] | ![]() | |||||||
[4.1 Search Type의 개념과 종류] | 359 | ![]() | ||||||
[4.2 Search Type 분석에 사용될 SQL] | 364 | ![]() | ||||||
[4.3 Exhaustive Type 전략] | 367 | ![]() | ||||||
[4.4 Iterative Type 전략] | 371 | ![]() | ||||||
[4.5 Linear Type 전략] | 377 | ![]() | ||||||
[4.6 Two_Pass Type 전략] | 379 | ![]() | ||||||
[4.7 Off Option 전략] | 381 | ![]() | ||||||
[4.8 On Option 전략] | 382 | ![]() | ||||||
[4.9 State Space란 무엇인가] | 387 | ![]() | ||||||
[4.10 CA*(Cost Annotation)란 무엇인가] | 390 | ![]() | ||||||
[4.11 메모리 관리] | 393 | ![]() | ||||||
[4.12 Interleaving] | 395 | ![]() | ||||||
[4.13 Juxtaposition] | 398 | ![]() | ||||||
[4.14 실무에 적용하기] | 401 | ![]() | ||||||
[4.A Part 4를 마무리 하며] | 404 | ![]() | ||||||
![]() | ||||||||
[부록과 색인] | ![]() | |||||||
[실무에서의 Query Transformation 이슈] | 407 | ![]() | ||||||
[미해결 과제] | 416 | ![]() | ||||||
4.2. 세미나및 OFFLINE 정모
차수 | 장소 | 일자 | 시간 | 진행 | 기타 |
0 | 토즈강남점 | 2011.08.20 | 11:00 ~ 13:00 |
|
|
1 | 강남역 주변 | 2011.10.07 | 19:30 ~ N01:
00 | Offline 정모 | |
2 |
|
|
|
|
|
5. 팀원 - 이름
구분 | Track A (화요일) | Track B (수요일) | 기타 |
진행 | 김범석 | 임재규 | |
1조 | 김범석 | 임재규 |
|
2조 | 장영천 | 송영석 |
|
3조 | 조문숙 | 박민석 | |
4조 | 장영천, 김범석(격주) | 정사빈 |
6. 스터디 장소
※ 온라인 발표: SKYPE (http://www.skype.com) ,
- Track A: 매주 화요일 저녁 9시 30 분 / close (비회원 참여불가능)
- Track B: 매주 수요일 저녁 9시 30 분 / close (비회원 참여불가능)
※ 오프라인 발표및 세미나: 토즈 건대점 (http://www.toz.co.kr/ 건대역 1번출구)
7. 스터디 규칙
1. 본 모임의 스터디 규칙에 따른다.
8. 기타
※ 본스터디는 2011년 9월~ 12월까지 bysql.net 에서 진행하고 있습니다.