"Optimizing oracle optimizer"의 두 판 사이의 차이
DB CAFE
1번째 줄: | 1번째 줄: | ||
− | + | * 저자 : 조동욱 | |
=== 제 1 장 CBO Concept === | === 제 1 장 CBO Concept === | ||
* 제 1 장은 다음과 같은 내용들을 통해 CBO의 기본 개념을 익히도록 도와드립니다. | * 제 1 장은 다음과 같은 내용들을 통해 CBO의 기본 개념을 익히도록 도와드립니다. |
2024년 9월 12일 (목) 07:27 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
- 저자 : 조동욱
목차
1 제 1 장 CBO Concept[편집]
- 제 1 장은 다음과 같은 내용들을 통해 CBO의 기본 개념을 익히도록 도와드립니다.
1.1 Cost란 무엇인가?[편집]
1.2 Time Model vs. IO Model[편집]
1.3 CBO의 기본 흐름[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. cpu_cost_basic.sql
- 02. cbo_basic_terms.sql
2 제 2 장 CBO Tools[편집]
- 제 2 장은 다음과 같은 내용들을 통해 CBO를 자유롭게 활용하기 위한 다양한 Tool들을 소개합니다.
2.1 DBMS_XPLAN Package[편집]
2.2 10046 Event[편집]
2.3 10053 Event[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. dbms_xplan.display.sql
- 02. dbms_xplan.display_cursor.sql
- 03. simple_rownum_10053.sql
3 제 3 장 Index[편집]
- 제 3 장은 다음과 같은 내용들을 통해 Index가 CBO에서 갖는 의미와 성능 이슈를 소개합니다.
3.1 Index Scan Cost[편집]
3.2 Clustering Factor[편집]
3.3 Index Cost 제어하기[편집]
3.4 Index Access Pattern[편집]
3.5 Index Range Scan[편집]
3.6 Index Full Scan[편집]
3.7 Index Fast Full Scan[편집]
3.8 Index Skip Scan[편집]
3.9 B*Tree Index Combination[편집]
3.10 Index Join[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. clustering_factor.sql
- 02. manual_clustering_factor.sql
- 03. optimizer_index_caching_index_cost_adj.sql
- 04. index_range_scan.sql
- 05. index_full_scan.sql
- 06. index_fast_full_scan.sql
- 07. index_skip_scan.sql
- 08. btree_combination.sql
4 제 4 장 Transformation[편집]
- 제 4 장은 다음과 같은 내용들을 통해 Query Transformation의 개념 및 성능 이슈를 소개합니다.
4.1 Transformation의 의미[편집]
4.2 Subquery Unnesting[편집]
4.3 View Merging[편집]
4.4 Predicate Pushing[편집]
4.5 Star Transformation[편집]
4.6 Cost Based Query Transformation[편집]
4.7 Transformation Troubleshooting 하기[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. subquery_transformation.sql
- 02. view_transformation.sql
- 03. star_transformation.sql
- 04. cost_based_query_transformation.sql
- 05. simple_rownum_10053.sql
5 제 5 장 Cardinality[편집]
- 제 5 장은 다음과 같은 내용들을 통해 Cardinality의 의미와 중요성 및 성능 이슈들을 소개합니다.
5.1 Cardinality가 왜 중요한가?[편집]
5.2 Cardinality의 기본 개념[편집]
5.3 기본 법칙들[편집]
5.4 골치 아픈 Case들[편집]
5.5 Skewed Data[편집]
[편집]
5.7 Join Cardinality[편집]
5.8 Partition Key[편집]
5.9 Cardinality 제어하기[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. cardinalities.sql
- 02. cardinality_vs_opt_estimate.sql
- 03. tuning_by_cardinality_feedback.sql
- 04. dynamic_sampling.sql
6 제 6 장 Histogram[편집]
- 제 6 장은 다음과 같은 내용들을 통해 Histogram의 개념과 성능 이슈들을 소개합니다.
6.1 Histogram 기본 개념[편집]
6.2 Histogram 수집[편집]
6.3 Histogram과 Cardinality의 관계[편집]
6.4 Frequency Histogram[편집]
6.5 Height-Balanced Histogram[편집]
6.6 Histogram을 둘러싼 오해[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. gather_histogram.sql
- 02. histogram_and_cardinality.sql
7 제 7 장 Advanced Techniques[편집]
- 제 7 장은 다음과 같은 내용들을 통해 Optimizer와 관련된 다양한 고급 기법들을 소개합니다.
7.1 Forgotten Hints[편집]
7.2 통계 정보 관리[편집]
7.3 Manual Histogram[편집]
7.4 Stored Outline 바꿔치기[편집]
7.5 SQL Profile Import[편집]
- 다음과 같은 예제들로 구성되어 있습니다.
- 01. forgotten_hints.sql
- 02. full_hint_concatenation.sql
- 03. oracle_never_ignores_hint.sql
- 04. diff_restore_table_stats.sql
- 05. histogram_manual_setting.sql
- 06. stored_outlines_vs_sql_profile.sql