장바구니 담기 close

장바구니에 상품을 담았습니다.

친절한 SQL 튜닝

친절한 SQL 튜닝

  • 조시형
  • |
  • 디비안(주)(DBian)
  • |
  • 2018-06-01 출간
  • |
  • 560페이지
  • |
  • 189 X 245 X 29 mm /1065g
  • |
  • ISBN 9791196395704
판매가

38,000원

즉시할인가

36,100

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,100

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




SQL 튜닝은 일정한 공식이나 비법을 외워서 잘 할 수 있는 기술영역이 아니며, SQL 내부 수행원리를 정확히 이해하는 것이 무엇보다 중요하다. 데이터베이스 성능 분야 최고 베스트셀러인 ‘오라클 성능 고도화 원리와 해법’ 1, 2권을 저술한 저자는 이번에 ‘친절한 SQL 튜닝’을 새로 출간하면서 SQL 튜닝을 제대로 하려면 최소한 이 책이 다루는 내용 정도는 정확히 알아야 한다고 강조한다.
이 책은 SQL 튜닝의 세계를 먼저 경험한 전문가들이 같이 일하는 동료 개발자들에게 읽어 보라며 부담 없이 권할 수 있는 튜닝 입문서다. 이 책을 통해 SQL 튜닝의 전체 흐름과 맥을 이해한다면, 이어서 ‘오라클 성능 고도화 원리와 해법’도 쉽게 섭렵할 수 있다. 구체적인 대상 독자층은 아래와 같고, 특히 SQLP 자격검정을 준비하는 분들에게는 필독서가 될 것이다.

- 국가공인 SQLP 자격검정 응시자
- SQL 튜닝에 입문하고자 하는 개발자 및 DBA
- 고급 데이터베이스 프로그래머
- 데이터베이스 설계자

책에 대해 궁금한 사항은 저자가 직접 운영하는 아래 인터넷카페로 문의하기 바란다.
디비안 포럼 ▶ http://www.dbian.net


목차


1장. SQL 처리 과정과 I/O
1.1 SQL 파싱과 최적화
1.1.1 구조적, 집합적, 선언적 질의 언어
1.1.2 SQL 최적화
1.1.3 SQL 옵티마이저
1.1.4 실행계획과 비용
1.1.5 옵티마이저 힌트

1.2 SQL 공유 및 재사용
1.2.1 소프트 파싱 vs. 하드 파싱
1.2.2 바인드 변수의 중요성

1.3 데이터 저장 구조 및 I/O 메커니즘
1.3.1 SQL이 느린 이유
1.3.2 데이터베이스 저장 구조
1.3.3 블록 단위 I/O
1.3.4 시퀀셜 액세스 vs. 랜덤 액세스
1.3.5 논리적 I/O vs. 물리적 I/O
1.3.6 Single Block I/O vs. Multiblock I/O
1.3.7 Table Full Scan vs. Index Range Scan
1.3.8 캐시 탐색 메커니즘

2장. 인덱스 기본
2.1 인덱스 구조 및 탐색
2.1.1 미리 보는 인덱스 튜닝
2.1.2 인덱스 구조
2.1.3 인덱스 수직적 탐색
2.1.4 인덱스 수평적 탐색
2.1.5 결합 인덱스 구조와 탐색

2.2 인덱스 기본 사용법
2.2.1 인덱스를 사용한다는 것
2.2.2 인덱스를 Range Scan 할 수 없는 이유
2.2.3 더 중요한 인덱스 사용 조건
2.2.4 인덱스를 이용한 소트 연산 생략
2.2.5 ORDER BY 절에서 컬럼 가공
2.2.6 SELECT-LIST에서 컬럼 가공
2.2.7 자동 형변환

2.3 인덱스 확장기능 사용법
2.3.1 Index Range Scan
2.3.2 Index Full Scan
2.3.3 Index Unique Scan
2.3.4 Index Skip Scan
2.3.5 Index Fast Full Scan
2.3.6 Index Range Scan Descending

3장. 인덱스 튜닝
3.1 테이블 액세스 최소화
3.1.1 테이블 랜덤 액세스
3.1.2 인덱스 클러스터링 팩터
3.1.3 인덱스 손익분기점
3.1.4 인덱스 컬럼 추가
3.1.5 인덱스만 읽고 처리
3.1.6 인덱스 구조 테이블
3.1.7 클러스터 테이블

3.2 부분범위 처리 활용
3.2.1 부분범위 처리
3.2.2 부분범위 처리 구현
3.2.3 OLTP 환경에서 부분범위 처리에 의한 성능개선 원리

3.3 인덱스 스캔 효율화
3.3.1 인덱스 탐색
3.3.2 인덱스 스캔 효율성
3.3.3 액세스 조건과 필터 조건
3.3.4 비교 연산자 종류와 컬럼 순서에 따른 군집성
3.3.5 인덱스 선행 컬럼이 등치(=) 조건이 아닐 때 생기는 비효율
3.3.6 BETWEEN을 IN-List로 전환
3.3.7 Index Skip Scan 활용
3.3.8 IN 조건은 ‘=’인가
3.3.9 BETWEEN과 LIKE 스캔 범위 비교
3.3.10 범위검색 조건을 남용할 때 생기는 비효율
3.3.11 다양한 옵션 조건 처리 방식의 장단점 비교
3.3.12 함수호출부하 해소를 위한 인덱스 구성

3.4 인덱스 설계
3.4.1 인덱스 설계가 어려운 이유
3.4.2 가장 중요한 두 가지 선택 기준
3.4.3 스캔 효율성 이외의 판단 기준
3.4.4 공식을 초월한 전략적 설계
3.4.5 소트 연산을 생략하기 위한 컬럼 추가
3.4.6 결합 인덱스 선택도
3.4.7 중복 인덱스 제거
3.4.8 인덱스 설계도 작성

4장. 조인 튜닝
4.1 NL 조인
4.1.1 기본 메커니즘
4.1.2 NL 조인 실행계획 제어
4.1.3 NL 조인 수행 과정 분석
4.1.4 NL 조인 튜닝 포인트
4.1.5 NL 조인 특징 요약
4.1.6 NL 조인 튜닝 실습
4.1.7 NL 조인 확장 메커니즘

4.2 소트 머지 조인
4.2.1 SGA vs. PGA
4.2.2 기본 메커니즘
4.2.3 소트 머지 조인이 빠른 이유
4.2.4 소트 머지 조인의 주용도
4.2.5 소트 머지 조인 제어하기
4.2.6 소트 머지 조인 특징 요약

4.3 해시 조인
4.3.1 기본 메커니즘
4.3.2 해시 조인이 빠른 이유
4.3.3 대용량 Build Input 처리
4.3.4 해시 조인 실행계획 제어
4.3.5 조인 메소드 선택 기준

4.4 서브쿼리 조인
4.4.1 서브쿼리 변환이 필요한 이유
4.4.2 서브쿼리와 조인
4.4.3 뷰(View)와 조인
4.4.4 스칼라 서브쿼리 조인

5장. 소트 튜닝
5.1 소트 연산에 대한 이해
5.1.1 소트 수행 과정
5.1.2 소트 오퍼레이션

5.2 소트가 발생하지 않도록 SQL 작성
5.2.1 Union vs. Union All
5.2.2 Exists 활용

5.3 인덱스를 이용한 소트 연산 생략
5.3.1 Sort Order By 생략
5.3.2 Top N 쿼리
5.3.3 최소값/최대값 구하기
5.3.4 이력 조회
5.3.5 Sort Group By 생략

5.4 Sort Area를 적게 사용하도록 SQL 작성
5.4.1 소트 데이터 줄이기
5.4.2 Top N 쿼리의 소트 부하 경감 원리
5.4.3 Top N 쿼리가 아닐 때 발생하는 소트 부하
5.4.4 분석함수에서의 Top N 소트

6장. DML 튜닝
6.1 기본 DML 튜닝
6.1.1 DML 성능에 영향을 미치는 요소
6.1.2 데이터베이스 Call과 성능
6.1.3 Array Processing 활용
6.1.4 인덱스 및 제약 해제를 통한 대량 DML 튜닝
6.1.5 수정가능 조인 뷰
6.1.6 MERGE 문 활용

6.2 Direct Path I/O 활용
6.2.1 Direct Path I/O
6.2.2 Direct Path Insert
6.2.3 병렬 DML

6.3 파티션을 활용한 DML 튜닝
6.3.1 테이블 파티션
6.3.2 인덱스 파티션
6.3.3 파티션을 활용한 대량 UPDATE 튜닝
6.3.4 파티션을 활용한 대량 DELETE 튜닝
6.3.5 파티션을 활용한 대량 INSERT 튜닝

6.4 Lock과 트랜잭션 동시성 제어
6.4.1 오라클 Lock
6.4.2 트랜잭션 동시성 제어
6.4.3 채번 방식에 따른 INSERT 성능 비교

7장. SQL 옵티마이저
7.1 통계정보와 비용 계산 원리
7.1.1 선택도와 카디널리티
7.1.2 통계정보
7.1.3 비용 계산 원리

7.2 옵티마이저에 대한 이해
7.2.1 옵티마이저 종류
7.2.2 옵티마이저 모드
7.2.3 옵티마이저에 영향을 미치는 요소
7.2.4 옵티마이저의 한계
7.2.5 개발자의 역할
7.2.6 튜닝 전문가 되는 공부방법

부록. SQL 분석 도구
1. 실행계획 확인
2. AutoTrace
3. SQL 트레이스
4. DBMS_XPLAN 패키지
5. 실시간 SQL 모니터링
6. V$SQL

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.