logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

The Logical Optimizer

The Logical Optimizer

(성능향상을 위한 트랜스포머의 SQL 재작성 전략)

오동규 (지은이)
(주)오픈메이드 컨설팅
39,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
37,050원 -5% 0원
1,170원
35,880원 >
35,100원 -10% 0원
0원
35,100원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 13개 15,800원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

The Logical Optimizer
eBook 미리보기

책 정보

· 제목 : The Logical Optimizer (성능향상을 위한 트랜스포머의 SQL 재작성 전략)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > Oracle
· ISBN : 9788996384007
· 쪽수 : 432쪽
· 출판일 : 2010-04-05

책 소개

성능 향상의 목적으로 SQL을 재작성하지만, 옵티마이져가 완벽하지 못하므로 많은 경우에 성능저하를 일으키게 된다. 옵티마이져가 SQL을 직접 변경 함으로써 SQL의 성능에 미치는 영향은 지대하지만 전세계적으로 이것을 전반적으로 다룬 서적이 없다는 점과 Logical Optimizer의 한계로 인해 발생하는 성능 문제를 해결하기 위한 책이다.

목차

Episode
Prologue
감사의 글
누구를 위한 책인가
책을 효율적으로 마스터하는 방법
책의 구성

Part 1 - Query Transformation Concept
들어가기
1.1 Logical Optimizer(Transformer)란 무엇인가
1.2 Query Transformation을 알아야 하는 이유
1.3 Query Transformation의 개념
1.4 Query Transformer의 구조
1.5 DBMS_XPLAN.DISPLAY_CURSOR
1.6 내가 사용한 Hint가 무시되는 이유
1.7 10053 Event Trace

Part 2 - Heuristic Query Transformation
들어가기
2.A Heuristic Query Transformation이란?
2.1 CSE (Common Subexpression Elimination): Where 절에서 or 사용시 중첩된 조건절은 제거하라
2.2 JE(Join Elimination) : 직접 사용하지 않는 테이블은 SQL에서 삭제하라
2.3 OE (Outer Join Table Elimination) : 불필요한 Outer쪽 테이블은 삭제하라
2.4 OJE(Outer-Join Elimination) : 의미 없는 Outer 조인을 Inner 조인으로 바꾸어라
2.5 OBYE(Order By Elimination) : 불필요한 Order By를 삭제하라
2.6 DE (Distinct Elimination) : 불필요한 Distinct를 제거하라
2.7 CNT(Count(column) To Count(*)):Count(컬럼) 사용시 해당 컬럼이 Not Null인 경우 Count(*)로 대체하라
2.8 FPD (Filter Push Down) : 조건절을 인라인뷰 내부로 이동시켜라
2.9 TP* (Transitive Predicate) : 조인절을 이용하여 다른 테이블에 상수조건을 생성시켜라
2.10 SVM (Simple View Merging) : Simple View를 해체하여 메인 쿼리와 통합하라
2.11 LV*(Lateral View) : 뷰를 Scalar 서브쿼리처럼 사용하라
2.12 FOJC* (Full Outer Join Conversion) : Full Outer 조인을 Union All로 변경하라
2.13 NFOJ* (Native Full Outer Join) : Full Outer 조인시 중복 Scan되는 테이블을 제거하라
2.14 OT* (Operator Transformation) : 특정 연산자를 다른 연산자로 변환하라
2.15 PM(Predicate Move Around): Where 조건을 다른 뷰에 이동시켜라
2.16 WCOTR* (Where Current Of To Rowid) : Where Current Of 를 사용하여 Index Scan을 회피하라

Heuristic Query Transformation for Subquery
2.17 SSU(Simple Subquery Unnesting) : 단순 서브쿼리를 조인으로 바꾸어라
2.18 CRSW (Correlated Removal Subquery Using Window Function): 상관 서브쿼리를 사용할 때 분석함수를 사용할 수 있는 경우 서브쿼리를 제거하라
2.19 URSW (Uncorrelated Removal Subquery Using Window Function): 분석함수를 사용할 수 있는 경우 비상관 서브쿼리를 제거하라
2.20 SJ (Semi Join) : 서브쿼리를 Semi 조인으로 변환하라
2.21 AJ (Anti Join) : 부정형 서브쿼리를 Anti 조인으로 바꾸어라
2.22 ANTI NA(Anti Join Null Aware) : Null 허용 컬럼으로 서브쿼리와 조인시 Anti 조인이 가능하다
2.23 OJTAJ*(Outer Join to Anti Join) : Outer 조인을 Anti 조인으로 변환하라
2.24 EJE*(Enhanced JE): Semi / Anti 조인과 ANSI Style로 조인 할 경우도 JE가 가능하다
2.25 JESJ*(Join Elimination Using Self Join): Self Join 사용시에도 JE가 가능하다
2.26 SSTS*(Scalar Subquery To Subquery): 스칼라 서브쿼리를 서브쿼리로 변환하라
2.27 SQC (Subquery Coalescing): 불필요하게 분리되어 있는 서브쿼리를 하나로 통합하라
2.28 DSJ (Driving Semi Join): Semi Join을 Bitmap 인덱스를 이용하여 Driving 테이블로 바꾸어라
2.29 SJR*, AJR*(Hash Join Right Semi/Anti) : Hash Semi/Anti Join 시 사용되는 서브쿼리 집합을 Build Input 집합으로 변환하라

Heuristic Query Transformation for Data Warehouse
2.30 PC* (Pivot Conversion) : Pivot 절을 Case + Group By로 변환하라
2.31 GBEP* (Group By Extension Pruning) : 불필요한 Rollup 이나 CUBE를 삭제하라
2.32 GSTT* (Grouping Sets Using Temp Table): Grouping Sets 사용시 Temp 테이블에 적재후 이를 반복해서 이용하라
2.33 GSTU* (Grouping Sets To UNION): Grouping Sets를 UNION ALL로 변환하라
2.34 GSTR*(Grouping Sets To Rollup): Grouping Sets을 Rollup으로 변환하라
2.B Part 2를 마무리 하며

Part 3 - Cost Based Query Transformation
들어가기
3.A Cost Based Query Transformation이란 무엇인가
3.B Search Type과 Iteration이란 무엇인가
3.1 CBPPD*(Cost Based Predicate Push Down) : Complex View에 Filter를 밀어 넣어라
3.2 PPU(Predicate Pull Up) : 비용이 많이 드는 조건절을 뷰 외부로 이동시켜라
3.3 OR-Expansion(OR To Union All Conversion) : OR 조건을 이용하여Union All로 변경시켜라
3.4 OR-Expansion Using Function*(NVL, DECODE, RANK To Union All): NVL, DECODE, RANK 함수를 사용한 조건절을 이용하여 Union All로 변경하라
3.5 TE (Table Expansion): 여러 개의 파티션을 액세스 할 때 파티션 마다 Union All로 분리해서 Index scan을 할지 FTS를 할지 판단하라
3.6 SJC (Set To Join Conversion) : 집합연산을 조인으로 바꾸어라
3.7 CSU (Complex Subquery Unnesting) : 복잡한 서브쿼리를 조인으로 바꾸어라
3.8 CVM( Complex View Merging ) : Distinct나 Group By가 있는 뷰를 해체하라
3.9 JPPD Union View: Union을 사용한 뷰에 조인 조건을 침투시켜라
3.10 JPPD Union All View: Union All을 사용한 뷰에 조인 조건을 침투시켜라
3.11 JPPD Outer Join View: 뷰에 Outer 조인을 사용한 경우 조인 조건을 침투 시켜라
3.12 Multi Level JPPD: 뷰 내부에 또 다른 뷰가 있더라도 메인 쿼리의 조인 조건을 침투 시켜라
3.13 JPPD Extension: Distinct 나 Group By, Semi/Anti-join을 사용한 뷰에 조인 조건을 침투시켜라
3.14 GBP (Group By Placement) : Group By를 먼저 수행하고 Join 하라
3.15 GBPD (Group By Push Down) : Parallel Query 수행 시 Group by를 한번 더 수행하라
3.16 JF(Join Factorization) : Union / Union All 사용시 공통으로 사용하는 테이블을 분리시켜라
3.17 ST ( Star Transformation ): From 절의 Dimension 테이블을 서브쿼리로 변환하고 DSJ 기능을 이용하여 Bitmap 연산을 수행하라
3.18 CBST (Cost Based Star Transformation): Star Transformation 적용시 Cost Based 환경을 이용하라
3.19 MVR(Materialized View Rewrite): Materialized View를 사용하지 않는 SQL을 Materialized View를 사용하는 SQL로 바꾸어라
3.20 JBE (Join Back Elimination) : Bitmap Join Index를 사용할 경우 필요 없는 테이블 액세스를 제거하라
3.C Part 3을 마무리 하며

Part 4 - Cost Based Query Transformation Internal
들어가기
4.1 Search Type의 개념과 종류
4.2 Search Type 분석에 사용될 SQL
4.3 Exhaustive Type 전략
4.4 Iterative Type 전략
4.5 Linear Type 전략
4.6 Two_Pass Type 전략
4.7 Off Option 전략
4.8 On Option 전략
4.9 State Space란 무엇인가
4.10 CA*(Cost Annotation)란 무엇인가
4.11 메모리 관리
4.12 Interleaving: 선 변환 과정이 끝나면 후 변환 과정을 연이어 수행하라
4.13 Juxtaposition: 배타적인 변환을 동시에 고려하여 Cost가 낮은 것을 선택하라
4.14 실무에 적용하기
4.A Part 4를 마무리 하며

부록과 색인
실무에서의 Query Transformation 이슈
미해결 과제
Epilogue
Bibliography
Index

저자소개

오동규 (지은이)    정보 더보기
E-mail: odong91@hanafos.com Blog: Science Of Database(http://scidb.tistory.com) Blog ID: extremedb 홍익대학교를 졸업하고 오픈메이드 컨설팅의 수석컨설턴트로 재직 중이며 DA(Data Architect)를 맡고 있다. 데이터베이스의 과학과 예술을 널리 전파하는 것을 모토로 삼고 있으며 기업은행, 서울보증보험, 수협, 농협에서 데이터모델링과 DBMS 튜닝 컨설팅 및 교육을 수행하였다. 월간 마이크로 소프트웨어에 DBMS와 관련된 고급원서의 서평을 다수 기고하였다. 저자의 블로그를 방문하면 과학(DBMS)과 예술(데이터 모델링)에 관한 깊이 있는 이야기를 공유할 수 있다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책