이미 소장하고 있다면 판매해 보세요.
|
PART 1 정석편
Chapter 1 Oracle Structure 1 1.1 SGA 5 1.1.1 SGA란 무엇인가? 5 1.1.2 Shared Pool 6 1.1.3 Data Buffer Cache 13 1.1.4 Redo Log Buffer 16 Chapter 2 Oracle Structure 2 2.1 Background Process 20 2.1.1 DBWR 20 2.1.2 LGWR 23 2.1.3 SMON 24 2.1.4 PMON 26 2.1.5 CKPT 29 2.1.6 RECO 30 2.1.7 LOCK 32 2.2 MTS 34 2.3 Parallel Processing 37 2.3.1 Parallel Processing이란 무엇인가? 37 2.3.2 Dynamic Parallel Processing 38 2.3.3 Static Parallel Processing 47 2.3.4 SQL Loadder의 병렬 처리 58 2.4 LOCK Mechanism 62 2.4.1 LOCK이란 무엇인가? 62 2.4.2 Row Level LOCK 64 2.4.3 Table Level LOCK 70 Chapter 3 About Index 3.1 Index Structure 74 3.1.1 Table Structure 74 3.1.2 Index Structure 84 3.2 B-Tree Index 90 3.2.1 B-Tree Index Structure 90 3.2.2 Index Skew 91 3.2.3 언제 사용해야 하는가? 94 3.3 Function Based Index 96 3.3.1 Function Based Index Structure 97 3.3.2 언제 사용해야 하는가? 100 3.4 Bitmap Index 101 3.4.1 Bitmap Index Structure 103 3.4.2 언제 사용해야 하는가? 108 3.5 Index Scan Method 109 3.5.1 Full Table Scan 110 3.5.2 Index Scan 111 3.5.3 Index Fast Full Scan 114 3.5.4 Index Skip Scan 115 3.6 Index 사용 시 유의사항 119 3.6.1 Suppressing의 주의 120 3.6.2 Not Operator의 정확한 사용법 127 3.6.3 Null Data의 의미와 성능 개선의 사용법 130 3.7 Index 설정 및 추가 시 유의사항 133 3.7.1 기존 혹은 새로 추가된 인덱스가 미치는 영향과 고려사항134 Chapter 4 전체 범위 처리와 부분 범위 처리 4.1 전체 범위 처리와 부분 범위 처리 144 4.1.1 전체 범위 처리란 무엇인가? 145 4.1.2 부분 범위 처리란 무엇인가? 146 4.2 전체 범위 처리의 부분 범위 처리로의 전환 147 4.3 언제, 어떤 처리 방식을 사용해야 하는가? 158 Chapter 5 Join & View 5.1 Nested Loop Join 162 5.1.1 Nested Loop Join이란 무엇인가? 162 5.1.2 Nested Loop Join의 효율적인 사용법 및 주의사항 165 5.2 Sort Merge Join 173 5.2.1 Sort Merge Join이란 무엇인가? 173 5.2.2 Sort Merge Join의 효율적인 사용법 및 주의사항 175 5.3 Hash Join 177 5.3.1 Hash Join이란 무엇인가? 178 5.3.2 Hash Join의 효율적인 사용법 및 주의사항 180 5.4 Outer Join 182 5.4.1 Outer Join이란 무엇인가? 183 5.4.2 Outer Join의 오류 사례와 전략적 사용법 185 5.5 View 189 5.5.1 View란 무엇인가? 190 5.5.2 View를 이용한 성능 개선 사례 191 Chapter 6 Sub Query 6.1 Sub Query 196 6.1.1 Sub Query란 무엇인가? 196 6.1.2 주종 관계를 가지는 Sub Query 198 6.1.3 주종 관계를 갖지 않는 Sub Query 200 6.1.4 주종 관계로의 수행을 위한 방법과 성능 개선 사례 204 Chapter 7 순환 관계의 처리 7.1 순환 관계의 처리 210 7.1.1 순환 관계 처리란 무엇인가? 210 7.1.2 순환 관계를 써야 하는 이유? 212 7.1.3 잘못 사용되고 있는 순환 관계의 사례 213 Chapter 8 SQL Plan & Trace 8.1 SQL Plan 226 8.1.1 SQL Plan이란 무엇인가? 226 8.1.2 SQL Plan의 식별 방법 226 8.2 Trace 239 8.2.1 Trace란 무엇인가? 239 8.2.2 Trace 결과의 식별 방법 242 8.2.3 Trace의 실제 사례를 통한 전체 작업량에 대한 분석과 문제점 돌출 방법 245 Chapter 9 Cluster 9.1 Cluster 262 9.1.1 Cluster란 무엇인가? 262 9.1.2 Cluster가 가지는 장점과 단점 262 Chapter 10 Optimizer & Hint 10.1 Optimize 272 10.1.1 Optimizer란 무엇인가? 272 10.1.2 Rule Base & Cost Base Optimizer의 특징 및구조가 가지는 특성의 이해 274 10.2 Hint 281 10.2.1 Hint란 무엇인가? 281 10.2.2 실무 사례로 알아보는 Hint의 적절한 사용법 284 Chapter 11 Analytic Function 11.1 Analytic Function 302 11.1.1 Analytic Function이란 무엇인가? 302 11.1.2 실무 사례로 알아보는 Analytic Function의 종류와 사용법 302 Chapter 12 Rollup & Cube 12.1 Rollup 322 12.1.1 Rollup이란 무엇인가? 322 12.1.2 실무 사례로 알아보는 Rollup의 적절한 사용법 322 12.2 Cube 328 12.2.1 Cube란 무엇인가? 328 12.2.2 실무 사례로 알아보는 Cube의 적절한 사용법 329 Chapter 13 Pro*C 13.1 Pro*C란? 334 13.2 Pro*C 프로그래밍을 하기 위한 기본 환경 334 13.2.1 Window 환경에서의 Pro*C 사용법 335 13.2.2 Unix 환경에서의 Pro*C 사용법 338 13.3 Pro*C 프로그램의 구조 341 13.4 단일 데이터 추출을 통한 갱신 프로그램 작성 345 13.5 배열을 이용한 데이터 추출과 갱신 프로그램 작성 347 13.6 WEB 프로그램에서의 Pro*C 응용 352 PART 2 응용편 Chapter 14 실무 사례 14.1 Literal SQL의 Static SQL 프로그램으로의 전환 360 14.2 상품별?분류별 판매 내역을 추출하라 364 14.3 일정 기간별 판매 내역과 그에 대한 누적분을 추출하라 370 14.4 한 테이블의 값을 가로 2개의 컬럼으로 분리하여 추출하라 376 14.5 분류별?상품별 판매 내역과 전일 대비 증감분을 추출하라 381 14.6 한 테이블의 값을 가로 N개의 컬럼으로 분리하여 추출하라 388 14.7 사원의 급여별로 순위를 부여하여 추출하라 395 14.8 사원의 일자별 판매 내역과 최근 일주일간의 판매 내역을 누적하여 추출하라 400 14.9 언제 어떤 패턴의 SQL을 작성하는가? 404 Chapter 15 실무 프로젝트 15.1 [금융] 원리금 구하기 408 15.1.1 업무 요건 408 15.1.2 데이터베이스 설계 409 15.1.3 원리금 구하기 [SQL 작성] 427 15.2 [유통] 배차 지정하기 438 15.2.1 업무 요건 438 15.2.2 데이터베이스 설계 439 15.2.3 배달 기사 지정하기 [SQL 작성] 446 15.2.4 배차 지정하기 [SQL 작성] 450 15.2.5 배달 고객 N건별 부분 범위 조회 [SQL 작성] 459 15.3 [통신] 통신 요금 계산하기 467 15.3.1 업무 요건 468 15.3.2 데이터베이스 설계 468 15.3.3 당월 청구 금액 정산하기 [SQL 작성] 476 15.3.4 당월 청구, 입금 내역 정산하기 [SQL 작성] 485 15.4 [건설] 노무비 구하기 493 15.4.1 업무 요건 494 15.4.2 데이터베이스 설계 495 15.4.3 당월, 현장별, 일별 노무비 조회 [SQL 작성] 497 Index 507 |
|
(중략) 수학을 잘 하기 위해 수학 정석 책을 기초로 하여 배워나갔듯이, 이 책 또한 오라클의 원리적인 측면을 좀더 이해하기 쉽게 설명하고 실제 구현사례들을 예시하여 수학 정석만이 지니는 튼튼한 기초와 예제를 제공하고자 노력하였습니다. 저자가 겪었던 내용과 수집된 사례를 중심으로 SQL문의 작성과 오라클 내부의 구조적 튜닝에 대해 자세히 언급하고 있습니다. 또한 기존에 출간되었던 여러 종류의 오라클 책에 비해 가장 실무적으로 접근하여 집필하고자 최선을 다했음을 강조하고 싶습니다.
하지만 책을 다 쓰고 보니 아직도 부족한 부분이 보입니다. 이러한 아쉬움은 아직 필자의 내공이 깊지 못해 전달함에 있어 부족하지 않았나 하는 것입니다. 하지만 다음의 원칙은 불변하였음을 강조하고 싶습니다. 필자가 이 책을 집필한 이유는 단 하나입니다. ‘프로그램의 근간이 되는 DBMS와 관련된 명쾌한 솔루션이 될 만한 책이 없다라는 것, 그래서 그러한 책을 만들어 보고자 한 것입니다.’ 모든 개발자의 욕심을 충족시켜줄 책은 아닐 것입니다. 하지만 본 책자를 통해 단 하나만이라도 얻어낼 수 있었다면 여러분이나 필자가 보다 나은 길로 가는 데 보람된 일이 되지 않았나 생각합니다. 완벽한 솔루션은 없습니다. 그러나 완벽한 솔루션을 위해 가야할 길은 명확합니다. 본 책자가 그 초석이 되었으면 하는 소박한 바람을 피력해봅니다. (중략) -- 저자 머리말 중에서 |