오라클 실전 튜닝 3(Perfect)
실무에서 바로 사용할 수 있는 SQL 튜닝 가이드북
Regular price
$31.46
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
1권에서는 데이터베이스 아키텍쳐 및 SQL 튜닝 기초를 다루었고, 2권에서는 테이블들간의 조인을 통한 성능향상을 다뤘다. 이어서 3권에서는 실무에서 발생할 수 있는 SQL 사례들을 중심으로 구성하여 독자들에게 SQL 실전 튜닝이 가능하도록 집필하였다.
실제 업무 상황에서 성능 이슈가 발생하였을 경우 어떤 SQL이 문제인지는 인지하고 있으면서도 개선 방안을 찾을 수 없어 답답해하는 경우를 드물지 않게 목격했다. 이 책은 그런 답답했던 상황에 있어 해답을 찾아줄 수 있는 책이 될 것이라 기대한다.
기존에 출판된 책자에 성능적 변화에 맞추어 내용을 더욱 보강하고 재구성하여 본 책을 저술하였다. 특히, 오라클 12C 버전에서 옵티마이저의 변화에 따른 실행계획이 기존 오라클 버전과 어떤 부분에서 변경이 되었는지도 보강하여 실무에 적용하기 쉽도록 작성하였다.
이 책을 통해 어렵기만 했던 SQL 튜닝에 대해 자신감을 가져다 줄 수 있기를 바란다. 또한 이 책으로 인해 많은 사이트들에서 성능이 향상되었다는 이야기가 들려오기를 고대한다
실제 업무 상황에서 성능 이슈가 발생하였을 경우 어떤 SQL이 문제인지는 인지하고 있으면서도 개선 방안을 찾을 수 없어 답답해하는 경우를 드물지 않게 목격했다. 이 책은 그런 답답했던 상황에 있어 해답을 찾아줄 수 있는 책이 될 것이라 기대한다.
기존에 출판된 책자에 성능적 변화에 맞추어 내용을 더욱 보강하고 재구성하여 본 책을 저술하였다. 특히, 오라클 12C 버전에서 옵티마이저의 변화에 따른 실행계획이 기존 오라클 버전과 어떤 부분에서 변경이 되었는지도 보강하여 실무에 적용하기 쉽도록 작성하였다.
이 책을 통해 어렵기만 했던 SQL 튜닝에 대해 자신감을 가져다 줄 수 있기를 바란다. 또한 이 책으로 인해 많은 사이트들에서 성능이 향상되었다는 이야기가 들려오기를 고대한다
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
[ 이 책의 대상 독자 ]
이 책은 실무를 접하기 어려운 학생들이 과연 SQL 튜닝을 실 업무에서는 어떻게 적용하는지 궁금하게 여기는 독자들과 현업 사이트에 문제가 있어 SQL 튜닝이 반드시 필요하다고 생각 되는 독자들에게 실무 사례를 들어 튜닝 방법을 기술하여 예제와 그림으로 쉽게 전달하고자 하였다.
[ 이 책의 구성 ]
이 책은 크게 6가지 단원으로 나뉘어지며 간략히 확인해 보자.
1장. 데이터 연결 형태의 선택
이 단원에서는 데이터 연결을 제대로 사용하기 위한 내용이 포함되어 있다. 데이터 연결 즉, 조인을 사용하는 방법은 여러 가지가 있지만 제대로 사용하지 않는다면 성능을 보장받을 수없다. 이렇기 때문에 데이터 연결의 규칙과 방법을 제대로 인지하고 작성해야 할 것이다.
2장. 정렬 작업의 최소화
이 단원에서는 정렬 작업을 최소화할 수 있는 방법을 살펴볼 수 있다. 정렬은 데이터의 양에 따라 성능이 좌우되며 동일 작업을 수행하더라도 정렬 작업을 감소시킬 수 있다면 성능을 보장 받을 수 있다. 이렇기 때문에 반드시 정렬 작업의 최소화 기법을 이해하고 있어야 할 것이다.
3장. 페이징 쿼리 최적화
화면에 표시할 수 있는 데이터는 제한이 있기 때문에 화면 단위로 결과를 추출하기 위해 페이징 쿼리를 매우 많이 작성한다. 그러나 대부분 전체 범위 처리로 수행되어 성능을 보장받을 수 없는 SQL이 수행된다. 이는 페이징 쿼리의 최적화 기법을 제대로 이해하지 못했기 때문이다. 이 단원을 통해 페이징 쿼리를 어떻게 최적화할 수 있는지 살펴보도록 하자.
4장. 동적 조건 SQL
많은 개수의 동적 조건을 가진 프로그램은 때론 심각한 문제를 발생시킨다. 동적 조건 SQL은 한 개의 SQL이 아니기 때문이다. 이렇게 동적 조건 SQL은 조건마다 다른 SQL이 수행되기 때문에 체계적인 SQL 최적화를 수행해야 성능을 보장받을 수 있다.
5장. 대사 SQL
배치 작업시에 주로 수행되는 대사 SQL은 시스템의 성능을 저하시키는 원인이 된다. 대사작업시 주로 사용되는 OUTER 조인의 개념을 반드시 숙지하고 효율적인 대사 SQL 작성 방법을 이해하자.
6장. 순환 전개
업무에서 유용하게 사용할 수 있는 것 중 하나가 순환 전개를 이용한 SQL 작성이다. 순환전개는 다른 SQL과 다르게 실행계획도 다소 복잡하여 성능 저하가 발생할 가능성이 높아진다. 그렇기 때문에 순환 전개 SQL 작성시에도 성능을 보장받을 수 있는 최적화 기법을 이해해야 한다.
이 책은 실무를 접하기 어려운 학생들이 과연 SQL 튜닝을 실 업무에서는 어떻게 적용하는지 궁금하게 여기는 독자들과 현업 사이트에 문제가 있어 SQL 튜닝이 반드시 필요하다고 생각 되는 독자들에게 실무 사례를 들어 튜닝 방법을 기술하여 예제와 그림으로 쉽게 전달하고자 하였다.
[ 이 책의 구성 ]
이 책은 크게 6가지 단원으로 나뉘어지며 간략히 확인해 보자.
1장. 데이터 연결 형태의 선택
이 단원에서는 데이터 연결을 제대로 사용하기 위한 내용이 포함되어 있다. 데이터 연결 즉, 조인을 사용하는 방법은 여러 가지가 있지만 제대로 사용하지 않는다면 성능을 보장받을 수없다. 이렇기 때문에 데이터 연결의 규칙과 방법을 제대로 인지하고 작성해야 할 것이다.
2장. 정렬 작업의 최소화
이 단원에서는 정렬 작업을 최소화할 수 있는 방법을 살펴볼 수 있다. 정렬은 데이터의 양에 따라 성능이 좌우되며 동일 작업을 수행하더라도 정렬 작업을 감소시킬 수 있다면 성능을 보장 받을 수 있다. 이렇기 때문에 반드시 정렬 작업의 최소화 기법을 이해하고 있어야 할 것이다.
3장. 페이징 쿼리 최적화
화면에 표시할 수 있는 데이터는 제한이 있기 때문에 화면 단위로 결과를 추출하기 위해 페이징 쿼리를 매우 많이 작성한다. 그러나 대부분 전체 범위 처리로 수행되어 성능을 보장받을 수 없는 SQL이 수행된다. 이는 페이징 쿼리의 최적화 기법을 제대로 이해하지 못했기 때문이다. 이 단원을 통해 페이징 쿼리를 어떻게 최적화할 수 있는지 살펴보도록 하자.
4장. 동적 조건 SQL
많은 개수의 동적 조건을 가진 프로그램은 때론 심각한 문제를 발생시킨다. 동적 조건 SQL은 한 개의 SQL이 아니기 때문이다. 이렇게 동적 조건 SQL은 조건마다 다른 SQL이 수행되기 때문에 체계적인 SQL 최적화를 수행해야 성능을 보장받을 수 있다.
5장. 대사 SQL
배치 작업시에 주로 수행되는 대사 SQL은 시스템의 성능을 저하시키는 원인이 된다. 대사작업시 주로 사용되는 OUTER 조인의 개념을 반드시 숙지하고 효율적인 대사 SQL 작성 방법을 이해하자.
6장. 순환 전개
업무에서 유용하게 사용할 수 있는 것 중 하나가 순환 전개를 이용한 SQL 작성이다. 순환전개는 다른 SQL과 다르게 실행계획도 다소 복잡하여 성능 저하가 발생할 가능성이 높아진다. 그렇기 때문에 순환 전개 SQL 작성시에도 성능을 보장받을 수 있는 최적화 기법을 이해해야 한다.
목차
목차
Chapter 01. 데이터 연결 형태의 선택
01 데이터 연결의 종류
02 일반 조인과 서브쿼리의 데이터 연결 전환 기준
03 일반 조인을 서브쿼리로 변경
04 서브쿼리를 일반 조인으로 변경
05 일반 조인과 스칼라 서브쿼리의 전환 기준
06 일반 조인에서 스칼라 서브쿼리 전환 목적
07 스칼라 서브쿼리를 일반 조인으로 전환하는 목적
08 데이터 연결의 선택
Chapter 02. 정렬 작업의 최소화
01 정렬의 시작
02 정렬의 개념
03 정렬된 데이터의 확인
04 단순 SORT(ORDER BY) 실행계획의 감소
05 정렬 인덱스 구성 법칙
06 선분 조건에 대한 정렬 제거
07 조인에서 자동 정렬 수행
08 IN 절에서의 정렬 발생
09 UNION 집합 연산자의 정렬
10 MINUS 집합 연산자의 정렬
Chapter 03. 페이징 쿼리 최적화
01 페이징 쿼리
02 전체 데이터 처리 방식
03 n-Row 처리 방식
04 조인을 이용한 페이징 쿼리
05 자주 사용되는 페이징 쿼리
06 COUNT 쿼리
07 n-Row 처리 방식의 페이징 쿼리의 비효율
08 n-Row 처리 방식의 페이징 쿼리의 비효율 제거
09 결합 페이징 쿼리
10 조인 페이징 쿼리를 결합 페이징 쿼리로 변환
11 결합 페이징 쿼리와 n-Row 처리 방식의 페이징 쿼리의 랜덤 엑세스
12 Lateral 뷰 기능
13 페이징 쿼리 예제
Chapter 04. 동적 조건 SQL
01 동적 조건 SQL의 이해
02 2차 동적 조건 SQL 최적화 방법
03 n차 동적 조건 SQL의 최적화 방법
04 UNION ALL절 이용시 LONG SQL처리 방법
05 동적 FROM 절과 정렬이 결합된 동적 SQL의 최적화 방법
Chapter 05. 대사 SQL
01 OUTER 조인의 개념
02 OUTER 조인의 성능
03 대사 작업의 성능 저하
04 FULL OUTER 조인 이용
05 UNION ALL 집합 연산자를 이용한 대사 작업
06 복잡한 대사 작업 최적화
07 UNION ALL 집합 연산자를 이용한 대사 후속 작업
Chapter 06. 순환 전개
01 순환 관계의 개념
02 순환 관계의 이용 유무
03 순환 전개의 문법
04 순환 전개의 실행 계획
05 일반 조인과 순환 전개의 사용
06 기타 조인과 순환 전개의 동시 사용
07 순환관계와 SYS_CONNECT_BY_PATH
01 데이터 연결의 종류
02 일반 조인과 서브쿼리의 데이터 연결 전환 기준
03 일반 조인을 서브쿼리로 변경
04 서브쿼리를 일반 조인으로 변경
05 일반 조인과 스칼라 서브쿼리의 전환 기준
06 일반 조인에서 스칼라 서브쿼리 전환 목적
07 스칼라 서브쿼리를 일반 조인으로 전환하는 목적
08 데이터 연결의 선택
Chapter 02. 정렬 작업의 최소화
01 정렬의 시작
02 정렬의 개념
03 정렬된 데이터의 확인
04 단순 SORT(ORDER BY) 실행계획의 감소
05 정렬 인덱스 구성 법칙
06 선분 조건에 대한 정렬 제거
07 조인에서 자동 정렬 수행
08 IN 절에서의 정렬 발생
09 UNION 집합 연산자의 정렬
10 MINUS 집합 연산자의 정렬
Chapter 03. 페이징 쿼리 최적화
01 페이징 쿼리
02 전체 데이터 처리 방식
03 n-Row 처리 방식
04 조인을 이용한 페이징 쿼리
05 자주 사용되는 페이징 쿼리
06 COUNT 쿼리
07 n-Row 처리 방식의 페이징 쿼리의 비효율
08 n-Row 처리 방식의 페이징 쿼리의 비효율 제거
09 결합 페이징 쿼리
10 조인 페이징 쿼리를 결합 페이징 쿼리로 변환
11 결합 페이징 쿼리와 n-Row 처리 방식의 페이징 쿼리의 랜덤 엑세스
12 Lateral 뷰 기능
13 페이징 쿼리 예제
Chapter 04. 동적 조건 SQL
01 동적 조건 SQL의 이해
02 2차 동적 조건 SQL 최적화 방법
03 n차 동적 조건 SQL의 최적화 방법
04 UNION ALL절 이용시 LONG SQL처리 방법
05 동적 FROM 절과 정렬이 결합된 동적 SQL의 최적화 방법
Chapter 05. 대사 SQL
01 OUTER 조인의 개념
02 OUTER 조인의 성능
03 대사 작업의 성능 저하
04 FULL OUTER 조인 이용
05 UNION ALL 집합 연산자를 이용한 대사 작업
06 복잡한 대사 작업 최적화
07 UNION ALL 집합 연산자를 이용한 대사 후속 작업
Chapter 06. 순환 전개
01 순환 관계의 개념
02 순환 관계의 이용 유무
03 순환 전개의 문법
04 순환 전개의 실행 계획
05 일반 조인과 순환 전개의 사용
06 기타 조인과 순환 전개의 동시 사용
07 순환관계와 SYS_CONNECT_BY_PATH
저자
저자
권순용
데이터 컨설팅 업무를 수행하는 ㈜엑시엄정보시스템의 대표이사이며 대표 컨설턴트이다. DBA로 시작하여 현재 까지도 데이터베이스 아키텍쳐, SQL 튜닝, 데이터마이그레이션 및 모델링 업무를 주로 수행한다. 데이터베이스 교육도 진행하며 저서로는 'Perfect 오라클 실전 튜닝', '초보자를 위한 오라클 10g', 고성능 데이터베이스 튜닝 등의 다수의 책을 저술하였다. 또한, 데이터베이스 엑세스 최적화에 대한 특허를 가지고 있으며 지금도 많은 싸이트에서 프로젝트를 진행하고 있다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

