행위

Optimizing oracle optimizer

DB CAFE

thumb_up 추천메뉴 바로가기



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.6 Correlated Columns[편집]

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