Description
책 제목은 필자가 애청하는 라디오 프로그램 ‘손에 잡히는 경제’ 중 ‘친절한 경제’라는 코너에서 착안했다. 어려운 경제 이슈를 일반인 눈높이에 맞게 풀어서 설명해 주는 진행자를 보면서 “나도 SQL 성능 문제를 저렇게 쉽게 풀어 설명하는 책을 써야겠다”는 다짐을 했다.
전작 ‘오라클 성능 고도화 원리와 해법’은 원래 개발자를 위해 쓴 책이었는데, 애초의 생각보다 DB 아키텍처를 너무 깊게 다루다 보니 개발자보다 오히려 DBA와 튜닝 전문가들이 더 많이 보는 책이 돼 버렸다. 그래서 새로 만든 책이 ‘친절한 SQL 튜닝’이다. 군더더기를 제거하고 핵심만 간추려서 개발자 눈높이에 맞게 친절하고 쉽게 풀어쓴 오라클 성능 고도화!
‘친절한 SQL 튜닝’은 개발자를 위한 SQL 튜닝 입문서다. 20년 가까이 DB 성능 컨설팅을 수행한 현직 튜너로서 개발자에게 들려주고 싶은 DB 성능 이야기를 담았다. 핵심 성능 이론은 변하지 않으므로 일부 전작에서 그대로 차용한 내용도 있지만, 그림을 보충하고 더 쉽고 친절하게 설명하려고 노력했다.
그렇다고 DB 프로그래밍 초보자를 위한 책은 아니다. 어느 정도 경력이 쌓였는데도 성능 문제를 스스로 해결하지 못해 늘 고민하는 분들을 위한 책이다. 국가공인 SQLP(SQL 전문가) 자격검정의 핵심이론을 집중적으로 다루었으므로 이 자격증에 도전하는 분들에게도 좋은 참고서가 되리라고 믿는다. 오라클 중심으로 설명하지만, 대부분 DBMS에 공통으로 적용되는 성능 원리를 다루므로 오라클 경험이 없는 개발자도 따라오는 데 문제는 없다.
아무쪼록 정보시스템을 구축하고 운영하는 모든 개발자가 이 책을 통해 SQL 튜닝의 비밀스러운 세계를 경험하고 그 매력에 흠뻑 빠져들기를 바란다.

내용 문의 ▶ http://www.dbian.net
저자

조시형

조시형
現)주식회사디비안대표이사/
오라클성능고도화원리와해법1,2저자/
국가공인SQLP,DAP자격검정전문위원
前)이랜드,인슈넷,디엠에스랩,엔코아,비투엔

대용량데이터처리가필수인eCRM솔루션개발업무를담당하면서DB전문가의길로들어서게되었다.2010년에한국데이터진흥원과한국DB산업협의회가공동주관하는제1회우수DB人상을수상하였고,2016년1월에주식회사디비안을설립하였다.20년가까이컨설팅을수행하면서터득한성능관리방법론을솔루션화하는일에관심이많고,DB전문서적을꾸준히집필하면서교육과후배양성에도더매진하려고노력한다.요즘은인터넷카페디비안포럼(www.dbian.net)을통한지식공유활동에도열심이다.



목차

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

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

1.3데이터저장구조및I/O메커니즘
1.3.1SQL이느린이유
1.3.2데이터베이스저장구조
1.3.3블록단위I/O
1.3.4시퀀셜액세스vs.랜덤액세스
1.3.5논리적I/Ovs.물리적I/O
1.3.6SingleBlockI/Ovs.MultiblockI/O
1.3.7TableFullScanvs.IndexRangeScan
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인덱스를RangeScan할수없는이유
2.2.3더중요한인덱스사용조건
2.2.4인덱스를이용한소트연산생략
2.2.5ORDERBY절에서컬럼가공
2.2.6SELECT-LIST에서컬럼가공
2.2.7자동형변환

2.3인덱스확장기능사용법
2.3.1IndexRangeScan
2.3.2IndexFullScan
2.3.3IndexUniqueScan
2.3.4IndexSkipScan
2.3.5IndexFastFullScan
2.3.6IndexRangeScanDescending


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.3OLTP환경에서부분범위처리에의한성능개선원리

3.3인덱스스캔효율화
3.3.1인덱스탐색
3.3.2인덱스스캔효율성
3.3.3액세스조건과필터조건
3.3.4비교연산자종류와컬럼순서에따른군집성
3.3.5인덱스선행컬럼이등치(=)조건이아닐때생기는비효율
3.3.6BETWEEN을IN-List로전환
3.3.7IndexSkipScan활용
3.3.8IN조건은‘=’인가
3.3.9BETWEEN과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.1NL조인
4.1.1기본메커니즘
4.1.2NL조인실행계획제어
4.1.3NL조인수행과정분석
4.1.4NL조인튜닝포인트
4.1.5NL조인특징요약
4.1.6NL조인튜닝실습
4.1.7NL조인확장메커니즘

4.2소트머지조인
4.2.1SGAvs.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대용량BuildInput처리
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.1Unionvs.UnionAll
5.2.2Exists활용

5.3인덱스를이용한소트연산생략
5.3.1SortOrderBy생략
5.3.2TopN쿼리
5.3.3최소값/최대값구하기
5.3.4이력조회
5.3.5SortGroupBy생략

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


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

6.2DirectPathI/O활용
6.2.1DirectPathI/O
6.2.2DirectPathInsert
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.4Lock과트랜잭션동시성제어
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

출판사 서평

책제목은필자가애청하는라디오프로그램‘손에잡히는경제’중‘친절한경제’라는코너에서착안했다.어려운경제이슈를일반인눈높이에맞게풀어서설명해주는진행자를보면서“나도SQL성능문제를저렇게쉽게풀어설명하는책을써야겠다”는다짐을했다.
전작‘오라클성능고도화원리와해법’은원래개발자를위해쓴책이었는데,애초의생각보다DB아키텍처를너무깊게다루다보니개발자보다오히려DBA와튜닝전문가들이더많이보는책이돼버렸다.그래서새로만든책이‘친절한SQL튜닝’이다.군더더기를제거하고핵심만간추려서개발자눈높이에맞게친절하고쉽게풀어쓴오라클성능고도화!
‘친절한SQL튜닝’은개발자를위한SQL튜닝입문서다.20년가까이DB성능컨설팅을수행한현직튜너로서개발자에게들려주고싶은DB성능이야기를담았다.핵심성능이론은변하지않으므로일부전작에서그대로차용한내용도있지만,그림을보충하고더쉽고친절하게설명하려고노력했다.
그렇다고DB프로그래밍초보자를위한책은아니다.어느정도경력이쌓였는데도성능문제를스스로해결하지못해늘고민하는분들을위한책이다.국가공인SQLP(SQL전문가)자격검정의핵심이론을집중적으로다루었으므로이자격증에도전하는분들에게도좋은참고서가되리라고믿는다.오라클중심으로설명하지만,대부분DBMS에공통으로적용되는성능원리를다루므로오라클경험이없는개발자도따라오는데문제는없다.
아무쪼록정보시스템을구축하고운영하는모든개발자가이책을통해SQL튜닝의비밀스러운세계를경험하고그매력에흠뻑빠져들기를바란다.

내용문의▶http://www.dbian.net

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

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

책에대해궁금한사항은저자가직접운영하는아래인터넷카페로문의하기바란다.

디비안포럼▶http://www.dbian.net