
오라클 튜닝 에센셜
박찬권 (지은이)
글봄creative(글봄크리에이티브)·2020-01-02
- 236쪽
- 192×250mm
- 기술과학
- KDC 005.755
로그인하면 내 서재에 추가할 수 있어요.
책 소개
더 이상 미룰 수 없다, 이제 버텨야 할 시간DB를 잘 알아서 개발 시스템의 성능을 올리고 데이터 세상으로 한발 더 나아가자. DB 튜닝 공부하기 위한 좋은 책은 시중에 이미 많이 나와 있다. 그렇지만 처음 시작할 때 너무 어렵고 분량이 많아 공부에 어려움을 호소하는 이들이 많다. DB 튜너는 개발자나 DBA처럼 경력 초반에 실무 영역으로 바로 진입하기 어려운 직종이다. SQL이나 DBMS를 다루는 직종에 종사하면서 튜닝을 조금씩 경험해 보다가 튜너가 되는 케이스가 가장 많다.SQL문 한두 개를 튜닝하기 위해 튜너를 찾는 경우는 매우 드문 일이다. 이때는 개발자나 DBA가 튜닝 업무를 맡게 된다. 이 책은 튜너가 아닌 다른 직종에 있으면서 튜닝을 접해야 하는 분에게 권한다. 튜너가 되기 전에 튜닝 감각을 익힐 수 있도록 눈높이를 맞췄다.튜닝을 공부할 때 직면할 어려움 세 가지를 기준으로 책을 엮었다. △튜닝을 하기 위해 알아야 하는 내용이 많다 △느린 SQL 문을 접하기 어렵다 △충분한 양의 데이터를 확보하기 어렵다.그래서 책을 분량을 줄이고 줄여 끝까지 함께할 수 있도록 했다. 이 책은 독자에게 많은 것을 알려주기 위한 책이 아니다. 조금은 덜 중요한 것들을 빼면서 명쾌하게 접근한다. 글만으로 설명하기에 어려운 부분을 그림으로 풀어냈다. 마치 오라클 내부에서 실행되는 것을 애니메이션처럼 만들었구나 하는 느낌마저 든다.책을 통해 느린 SQL문을 접하기 어렵다. 경험이 많은 튜너는 실행계획에서 제공하는 수치만으로 성능이 개선됐는지를 파악하는 게 어렵지 않다. 하지만 튜닝 입문자에게는 수치 감소만으로 성능 개선을 파악하는 게 쉽지 않다. 이 책에서는 실습을 할 수 있도록 충분한 양의 데이터를 제공한다. 실습하기 위한 스크립트를 실행하면 1500만 건의 주문 테이블과 3500~3800만 건의 주문상품 테이블이 생성된다. 현장에서 SQL문을 접하기 어려운 경우에도 누구나 쉽게 SQL문을 실습할 수 있도록 데이터를 제공한다. 패스트푸드 전문점의 주문과 관련된 하나의 데이터 모델이 책 전반의 실습 내용으로 일관되게 활용되고 있다. 책에서 제공하는 실습 환경을 바탕으로, 다양한 SQL 구문 또한 활용할 수 있다.SQL 튜닝을 공부하고자 하는 사람들이 주변에 적지 않다. 하지만 막연히 어렵다고만 생각하는 경우도 많았다. 중도에 포기할지 모른다는 두려움에 시작도 못하는 이들도 있다. 이 책은 SQL 튜닝에 대해 막연한 두려움을 가진 사람이나 도전했다가 실패했던 사람에게 할 수 있다는 희망의 불씨가 될 것이다.
목차펼치기접기
들어가는 글이 책의 활용법1장 실습 환경1.1. 생성 스크립트1.2. 실습 데이터 모델1.3. DBMS_XPLAN.DISPLAY_CURSOR2장 오라클 아키텍처2.1. 근력 운동과 오라클 아키텍처가 닮은 점2.2. 개요2.3. 시작하기2.4. 리두 로그 버퍼와 LGWR2.5. DB 버퍼 캐시와 DBWR2.6. Shared pool과 SQL 실행과정2.6.1. 구문분석2.6.2. 값 치환2.6.3. 실행2.6.4. 데이터 인출2.7. SELECT 문장의 논리적 실행 순서2.8. 데이터 저장 구조2.8.1. 테이블스페이스2.8.2. 세그먼트2.8.3. 익스텐트2.8.4. 블록2.8.5. 정리3장. I/O 효율화3.1. 인덱스 탐색 원리3.2. 블록 단위 I/O3.3. 시퀀스 액세스와 랜덤 액세스의 이해3.4. 버퍼 피닝3.5. 싱글 블록 I/O vs. 멀티 블록 I/O3.6. I/O 효율화, 왜 중요한가?4장 인덱스 기본 개념4.1. 인덱스의 특징4.2. 오라클에서만 사용 가능한 ROWID4.3. 인덱스 스캔 방식4.3.1. Index Unique Scan4.3.2. Index Range Scan4.3.3. Index Full Scan4.3.4. Index Skip Scan4.3.5. 인덱스 스캔 유도 방법4.3.6. Index Fast Full Scan4.3.7. 기타 활용4.4. 인덱스 스캔 동작 원리4.4.1. 인덱스 컬럼 사용법4.4.2. 묵시적 형변환5장 인덱스 활용과 튜닝5.1. 인덱스로 테이블 액세스 최적화5.1.1. 인덱스로 테이블 랜덤 액세스5.1.2. 인덱스 손익 분기점5.2. 인덱스 튜닝 사례5.2.1. 인덱스 스캔에서 비효율 판단하기5.2.2. 기존 인덱스에 컬럼 추가하기5.2.3. PK 인덱스 확장하기5.2.4. 인덱스에서만 처리하기5.3. 인덱스 스캔 범위 계산5.3.1. 조건절에 따른 인덱스 스캔 범위 파악5.4. 인덱스 설계5.4.1. 인덱스 설계 기준 및 전략6장 조인6.1. NL 조인6.2. 소트 머지 조인6.3. 해시 조인6.4. 조인 방식별 특성 비교6.5. 조인 방식에 따라 달라지는 인덱스 설계6.5.1. NL 조인6.5.2. 소트 머지 조인6.5.3. 해시 조인6.6. Outer 조인6.6.1. Outer NL 조인6.6.2. Outer 소트 머지 조인6.6.3. Outer 해시 조인6.7. 스칼라 서브 쿼리로의 조인7장 소트 튜닝7.1. 소트 연산의 종류7.1.1. Order by(Sort Order by)7.1.2. Group by(Sort Group by, Hash Group by)7.1.3. Distinct, IN, UNION, MINUS, INTERSECT 등의 집합 연산자7.1.4. Rank(), Dense_Rank(), Row_Number() 등 윈도우 함수(Window Sort)7.1.5. Sort Aggregate 연산7.2. 인덱스를 이용한 소트 대체7.2.1. Sort Order by7.2.2. Sort Group by7.3. 불필요한 소트 제거7.3.1. UNION, MINUS, INTERSECT 등 집합 연산자7.3.2. IN절 안의 서브 쿼리7.4. 피할 수 없는 소트! 소트 영역이라도 적게 사용하기7.4.1. 소트 영역에 대한 이해7.4.2. 첫 페이지를 빠르게 동작 시키는 페이징 기법8장 파티셔닝8.1. 테이블 파티셔닝8.1.1. Range 파티션8.1.2. 리스트 파티션8.1.3. 해시 파티션8.1.4. 세 가지 파티션의 특징8.1.5. 복합 파티셔닝8.2. 인덱스 파티셔닝8.3. 파티션 Pruning9장 병렬처리9.1. 병렬도9.2. 데이터 재분배9.3. 인덱스 스캔 vs 테이블 풀 스캔 vs 병렬 수행9.4. 병렬 해시 조인과 파티션 와이즈 조인9.5. 병렬 NL 조인나가는 글감수의 글추천의 글
출처: 국립중앙도서관 서지정보
리뷰 남기기
로그인하면 리뷰를 남길 수 있어요.
리뷰 0개
아직 리뷰가 없어요.