"Optimizing oracle optimizer"의 두 판 사이의 차이
DB CAFE
(새 문서: == Optimizing Oracle Optimizer == * 저자 : 조동욱 * ISBN : 9788995765357 * 발행(출시)일자 : 2008년 12월 23일 ** 판매중 https://contents.kyobobook.co.kr/sih/fit-in/458...) |
|||
1번째 줄: | 1번째 줄: | ||
− | + | ---- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 제 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 |
2023년 10월 14일 (토) 01:06 판
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