행위

"Optimizing oracle optimizer"의 두 판 사이의 차이

DB CAFE

(새 문서: == Optimizing Oracle Optimizer == * 저자 : 조동욱 * ISBN : 9788995765357 * 발행(출시)일자 : 2008년 12월 23일 ** 판매중 https://contents.kyobobook.co.kr/sih/fit-in/458...)
 
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
== Optimizing Oracle Optimizer ==
 
 
* 저자 : 조동욱
 
* 저자 : 조동욱
* ISBN : 9788995765357
 
* 발행(출시)일자 : 2008년 12월 23일
 
** 판매중
 
https://contents.kyobobook.co.kr/sih/fit-in/458x0/pdt/9788995765357.jpg
 
 
 
 
=== 제 1 장 CBO Concept ===
 
=== 제 1 장 CBO Concept ===
제 1 장은 다음과 같은 내용들을 통해 CBO의 기본 개념을 익히도록 도와드립니다.
+
* 제 1 장은 다음과 같은 내용들을 통해 CBO의 기본 개념을 익히도록 도와드립니다.
  
 
==== Cost란 무엇인가? ====
 
==== Cost란 무엇인가? ====
14번째 줄: 7번째 줄:
 
==== CBO의 기본 흐름 ====
 
==== CBO의 기본 흐름 ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. cpu_cost_basic.sql
+
** 01. cpu_cost_basic.sql
02. cbo_basic_terms.sql
+
** 02. cbo_basic_terms.sql
 
+
----
 
=== 제 2 장 CBO Tools ===
 
=== 제 2 장 CBO Tools ===
제 2 장은 다음과 같은 내용들을 통해 CBO를 자유롭게 활용하기 위한 다양한 Tool들을 소개합니다.
+
* 제 2 장은 다음과 같은 내용들을 통해 CBO를 자유롭게 활용하기 위한 다양한 Tool들을 소개합니다.
  
 
==== DBMS_XPLAN Package ====
 
==== DBMS_XPLAN Package ====
25번째 줄: 18번째 줄:
 
==== 10053 Event ====
 
==== 10053 Event ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. dbms_xplan.display.sql
+
** 01. dbms_xplan.display.sql
02. dbms_xplan.display_cursor.sql
+
** 02. dbms_xplan.display_cursor.sql
03. simple_rownum_10053.sql
+
** 03. simple_rownum_10053.sql
 
+
----
 
=== 제 3 장 Index ===
 
=== 제 3 장 Index ===
제 3 장은 다음과 같은 내용들을 통해 Index가 CBO에서 갖는 의미와 성능 이슈를 소개합니다.
+
* 제 3 장은 다음과 같은 내용들을 통해 Index가 CBO에서 갖는 의미와 성능 이슈를 소개합니다.
  
 
==== Index Scan Cost ====
 
==== Index Scan Cost ====
44번째 줄: 37번째 줄:
 
==== Index Join ====
 
==== Index Join ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. clustering_factor.sql
+
** 01. clustering_factor.sql
02. manual_clustering_factor.sql
+
** 02. manual_clustering_factor.sql
03. optimizer_index_caching_index_cost_adj.sql
+
** 03. optimizer_index_caching_index_cost_adj.sql
04. index_range_scan.sql
+
** 04. index_range_scan.sql
05. index_full_scan.sql
+
** 05. index_full_scan.sql
06. index_fast_full_scan.sql
+
** 06. index_fast_full_scan.sql
07. index_skip_scan.sql
+
** 07. index_skip_scan.sql
08. btree_combination.sql
+
** 08. btree_combination.sql
 
+
----
 
=== 제 4 장 Transformation ===
 
=== 제 4 장 Transformation ===
제 4 장은 다음과 같은 내용들을 통해 Query Transformation의 개념 및 성능 이슈를 소개합니다.
+
* 제 4 장은 다음과 같은 내용들을 통해 Query Transformation의 개념 및 성능 이슈를 소개합니다.
  
 
==== Transformation의 의미 ====
 
==== Transformation의 의미 ====
65번째 줄: 58번째 줄:
 
==== Transformation Troubleshooting 하기 ====
 
==== Transformation Troubleshooting 하기 ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. subquery_transformation.sql
+
** 01. subquery_transformation.sql
02. view_transformation.sql
+
** 02. view_transformation.sql
03. star_transformation.sql
+
** 03. star_transformation.sql
04. cost_based_query_transformation.sql
+
** 04. cost_based_query_transformation.sql
05. simple_rownum_10053.sql
+
** 05. simple_rownum_10053.sql
 
+
----
 
=== 제 5 장 Cardinality ===
 
=== 제 5 장 Cardinality ===
제 5 장은 다음과 같은 내용들을 통해 Cardinality의 의미와 중요성 및 성능 이슈들을 소개합니다.
+
* 제 5 장은 다음과 같은 내용들을 통해 Cardinality의 의미와 중요성 및 성능 이슈들을 소개합니다.
  
 
==== Cardinality가 왜 중요한가? ====
 
==== Cardinality가 왜 중요한가? ====
85번째 줄: 78번째 줄:
 
==== Cardinality 제어하기 ====
 
==== Cardinality 제어하기 ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. cardinalities.sql
+
** 01. cardinalities.sql
02. cardinality_vs_opt_estimate.sql
+
** 02. cardinality_vs_opt_estimate.sql
03. tuning_by_cardinality_feedback.sql
+
** 03. tuning_by_cardinality_feedback.sql
04. dynamic_sampling.sql
+
** 04. dynamic_sampling.sql
 
+
----
 
=== 제 6 장 Histogram ===
 
=== 제 6 장 Histogram ===
제 6 장은 다음과 같은 내용들을 통해 Histogram의 개념과 성능 이슈들을 소개합니다.
+
* 제 6 장은 다음과 같은 내용들을 통해 Histogram의 개념과 성능 이슈들을 소개합니다.
  
 
==== Histogram 기본 개념 ====
 
==== Histogram 기본 개념 ====
101번째 줄: 94번째 줄:
 
==== Histogram을 둘러싼 오해 ====
 
==== Histogram을 둘러싼 오해 ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. gather_histogram.sql
+
** 01. gather_histogram.sql
02. histogram_and_cardinality.sql
+
** 02. histogram_and_cardinality.sql
 
+
----
 
=== 제 7 장 Advanced Techniques ===
 
=== 제 7 장 Advanced Techniques ===
제 7 장은 다음과 같은 내용들을 통해 Optimizer와 관련된 다양한 고급 기법들을 소개합니다.
+
* 제 7 장은 다음과 같은 내용들을 통해 Optimizer와 관련된 다양한 고급 기법들을 소개합니다.
  
 
==== Forgotten Hints ====
 
==== Forgotten Hints ====
114번째 줄: 107번째 줄:
 
==== SQL Profile Import ====
 
==== SQL Profile Import ====
  
다음과 같은 예제들로 구성되어 있습니다.
+
* 다음과 같은 예제들로 구성되어 있습니다.
01. forgotten_hints.sql
+
** 01. forgotten_hints.sql
02. full_hint_concatenation.sql
+
** 02. full_hint_concatenation.sql
03. oracle_never_ignores_hint.sql
+
** 03. oracle_never_ignores_hint.sql
04. diff_restore_table_stats.sql
+
** 04. diff_restore_table_stats.sql
05. histogram_manual_setting.sql
+
** 05. histogram_manual_setting.sql
06. stored_outlines_vs_sql_profile.sql
+
** 06. stored_outlines_vs_sql_profile.sql
 +
 
 +
 
 +
[[category:oracle]]

2024년 9월 12일 (목) 07:27 기준 최신판

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