서브메뉴

본문

실전 사례로 살펴보는 SQL 튜닝 비법 (기본 문법부터 최적의 성능을 발휘하는 SQL 작성까지)
실전 사례로 살펴보는 SQL 튜닝 비법 (기본 문법부터 최적의 성능을 발휘하는 SQL 작성까지)
저자 : 강남이|권지윤|김남훈|김윤성|박중건
출판사 : 인사이트
출판년 : 2013
ISBN : 9788966260690

책소개

생생한 현장 기술로 배우는 SQL 튜닝의 비법!

『실전 사례로 살펴보는 SQL 튜닝 비법』은 SQL을 튜닝하기 위해 꼭 알아둬야 하는 필수 기본 지식과 다채로운 튜닝 방법을 다룬 책이다. 특히 튜닝의 필요성이 잦은 인덱스와 조인에 대해 집중적으로 설명하고, 의도대로 SQL이 동작하지 않을 경우에 사용하는 힌트의 사용법도 소개한다. 또한 저자들이 다년간 실무에서 경험한 많은 사례를 함께 소개하여 빠르게 현장에서 활용 가능한 튜닝 방법까지 익힐 수 있도록 구성되어 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

생생한 현장 기술로 배우는 SQL 튜닝의 비법!

DBMS의 기능이 끝없이 발전하여 이전에는 상상할 수 없었던 대용량 데이터도 척척 관리할 수 있는 세상이 되었다. 그런데 이런 편리함의 이면에는 속도 저하 등 문제점도 함께 발생하고 있어, SQL 튜닝의 중요성은 더욱 커지고 있다.
이에 이 책에서는 SQL을 튜닝하기 위해 꼭 알아둬야 하는 필수 기본 지식과 다채로운 튜닝 방법을 다루고 있다. 특히 튜닝의 필요성이 잦은 인덱스와 조인에 대해 집중적으로 설명하고, 의도대로 SQL이 동작하지 않을 경우에 사용하는 힌트의 사용법도 소개한다. 또한 저자들이 다년간 실무에서 경험한 많은 사례를 함께 소개하여 빠르게 현장에서 활용 가능한 튜닝 방법까지 익힐 수 있다.
생동감 있는 SQL 튜닝의 비법과 함께 한 단계 높은 수준의 튜닝 전문가가 되어보자!

■ 추천사

시스템의 튜닝 요소를 진단하는 방법은 물론, 현장에서의 경험을 바탕으로 한 튜닝 기술 노하우가 생생하게 녹아 있다. 또한 튜닝에 대한 기본적인 이론과 함께 소개하고 있는 다양한 사례들은 독자들의 이해를 돕는 데 중요한 역할을 할 것이다. SQL 튜너를 꿈꾸는 사람들이 그 꿈에 한발 가까이 갈 수 있는 좋은 지침서가 될 것을 확신한다.
_ 한국소프트웨어 아키텍트연합회장
삼성SDS Delivery센터 기술혁신팀장
한인철 상무

짧게는 2~3년, 길게는 10여 년간 튜닝을 해온 튜너들이 개발자에게 전수하고자 하는 튜닝 기술들을 싣고 있다. SQL을 작성해본 적이 있지만 자신이 없는 사람이나, 보다 효율적인 SQL을 작성하고 싶은 사람들에게 이 책을 추천한다.
_ 삼성SDS Delivery센터 아키텍처팀장
박재광 상무
[교보문고에서 제공한 정보입니다.]

목차정보

1장 SQL 튜닝 개요
1.1 SQL 튜닝이란?
1.2 SQL 튜닝은 왜 필요한가?
1.3 SQL 튜닝은 언제 하는가?
1.4 SQL 튜닝은 어떻게 하는가?
1.5 SQL 튜닝 유형

2장 옵티마이저
2.1 옵티마이저란?
2.2 옵티마이저의 종류
2.2.1 규칙 기반 옵티마이저
2.2.2 비용 기반 옵티마이저
2.3 옵티마이저 최적화를 위한 고려사항

3장 실행 계획
3.1 실행 계획이란?
3.1.1 접근 경로의 이해
3.1.2 실행 계획 내 주요 OPERATION
3.2 실행 계획 확인 방법
3.2.1 EXPLAIN PLAN
3.2.2 AUTOTRACE
3.2.3 SQL TRACE 파일
3.2.4 각종 툴의 활용
3.3 실행 계획 해석
3.3.1 실행 계획 읽는 순서
3.3.2 예제를 통한 실행 계획 분석

4장 인덱스
4.1 인덱스란?
4.1.1 B* Tree 인덱스의 개념 및 작동 원리
4.1.2 그 밖의 인덱스의 종류
4.2 인덱스 생성 방안
4.2.1 인덱스 설계
4.2.2 인덱스 컬럼 선정 가이드
4.2.3 B* Tree 인덱스를 사용하지 못하는 경우
4.2.4 인덱스 생성 및 관리 시 고려할 사항
4.3 인덱스를 활용한 SQL 튜닝 사례
4.3.1 인덱스 생성을 통한 성능 개선
4.3.2 결합 인덱스로의 변경을 통한 성능 개선
4.3.3 ORDER BY절 사용과 인덱스 설계
4.3.4 함수 기반 인덱스의 활용
4.3.5 INDEX SCAN보다 FULL TABLE SCAN이 효율적인 경우

5장 조인
5.1 조인이란?
5.2 대상 데이터에 따른 조인의 종류
5.2.1 INNER JOIN
5.2.2 OUTER JOIN
5.2.3 CARTESIAN JOIN
5.2.4 SELF JOIN
5.3 수행 방식에 따른 조인의 종류
5.3.1 NESTED LOOP JOIN
5.3.2 HASH JOIN
5.3.3 SORT MERGE JOIN
5.3.4 수행 방식에 따른 조인의 종류별 비교
5.4 서브쿼리
5.4.1 SELECT절의 서브쿼리
5.4.2 FROM절의 서브쿼리
5.4.3 WHERE절의 서브쿼리

6장 힌트
6.1 개요 231
6.2 힌트의 문법 및 종류
6.2.1 문법
6.2.2 힌트의 종류
6.3 힌트의 사용
6.3.1 옵티마이저
6.3.2 접근 경로 및 인덱스
6.3.4 조인
6.3.5 기타

7장 사례별 튜닝 기법
7.1 가변 SQL의 튜닝
7.1.1 조건 컬럼을 분리하여 성능을 개선한 사례
7.2 프레임워크를 이용한 페이지 처리의 튜닝
7.2.1 비효율적인 COUNT 처리에서 OUTER JOIN을 제거하여 튜닝한 사례
7.2.2 페이지 처리 화면에서 함수 사용 시 유의사항
7.3 체번 기법의 튜닝
7.3.1 체번 연산의 성능을 개선한 사례
7.4 배치 프로그램의 튜닝
7.4.1 애플리케이션 로직 개선으로 배치 프로그램 성능을 개선한 사례
7.5 동일 데이터 반복 사용
7.5.1 UNION ALL문에서 동일 데이터의 반복 사용을 제거하여 개선한 사례
7.5.2 프로그램 병렬 처리를 위한 동일 테이블 반복 접근을 개선한 사례
7.6 마스터 테이블의 중복을 제거한 코드 값 추출
7.7 CLUSTERING FACTOR 개선을 통한 튜닝
7.7.1 데이터 정렬을 통한 튜닝 사례
7.7.2 데이터의 물리적 위치를 고려해 튜닝한 사례
7.8 Materialized View의 활용
7.8.1 최근 통계 데이터를 초기 화면에 보여주는 사례
7.9 DB LINK
7.9.1 로컬 DB의 데이터가 많고, 원격 DB의 데이터가 적은 경우
7.9.2 로컬 DB의 데이터가 적고, 원격 DB의 데이터가 많은 경우
7.10 개발자 실수로 인한 오류 튜닝
7.10.1 LIKE 구문 사용 시 와일드 카드 문자가 들어간 데이터 비교 사례
7.10.2 OUTER JOIN을 잘못 사용한 사례
7.10.3 인덱스의 첫 번째 컬럼이 조건에서 누락된 사례
7.10.4 서브쿼리에서 비교된 컬럼 앞에 테이블 이름이 누락된 사례
[교보문고에서 제공한 정보입니다.]