로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

오라클 SQL 튜닝

   
지은이 최승인   |   출판사 한빛미디어  |   발행일 2003년 09월 09일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 25,000원22,500원 10%
마일리지 5% 1,250원
발행일 2003-09-09
ISBN 8979142498 |  9788979142495
기타정보 국내서 | 520쪽
예상출고일
배송비 무료배송
   
데이터베이스관리
종합지수 8p 62 위
   
 

SQL 튜닝의 기본 원리와 사례, 검색 비교를 통한 상황별 튜닝 적용 방법

좀더 빠르고 강력하게 데이터를 처리하게 해주는 가장 중요한 척도는 튜닝이다. SQL 뉴팅의 이론적인 배경 지식은 전체적인 관점에서 튜닝을 할 수 있게 하고, 선배 개발자들의 실무 지식은 특정 상황을 간접적으로 경험할 수 있게 한다. 두 가지 지식 모두 중요하기에, 이 책은 이러한 두 측면을 고려하여 갓 입사한 데이터베이스 개발자들이 실무에서 반드시 적용해야 할 SQL 튜닝 기법을 차근차근 설명한다. 이 책을 통해 속도 향상의 시작과 끝인 SQL 튜닝의 활용 기법에 자신감을 얻을 수 있을 것이다.

주요 내용
  • 목표가 있는 튜닝이 더 빨라진다 - 몇 초 이내와 1시간 이내의 결과 차이
  • 내가 작성한 SQL 문은 오라클에서 어떻게 처리될까? – SQL 문의 최적화된 경로를 찾아주는 옵티마이저
  • 개발 DB의 성능을 고려한 테이블 구조를 선택한다 – 월별 매출 단위로 관리하는 테이블 파티셔닝
  • 인덱스를 이용한 SQL 문이 더 빠르다 – B*Tree, 비트맵 인덱스의 처리 과정과 실행 효과
  • 같은 결과도 조인 방법에 따라 실행 속도가 달라진다 – 테이블 조인과 액세스 선택
  • SQL 튜닝은 데이터 웨어하우스나 DSS 시스템에서 그 효과를 발휘한다 – 병렬 프로세스의 이해와 적용
  • 내가 알고 있는 이론을 실무에 적용할 수 있을까? – 실무 경험에 바탕을 둔 저자의 SQL 투닝 고려사항

    주요 튜닝 사례 : 총 37가지
  • 매출일과 판매 사원 번호에 따른 복합 파티션 생성
  • 100만건 이상의 테이블에서 nologging 옵션을 사용했을 때의 실행 속도 비교
  • 데이터 분산에 따른 B-Tree 인덱스와 비트맵 인덱스의 SQL 문 작성
  • 직원의 성과 이름에 인덱스를 생성한 후, 직원 정보의 조회를 위해 인덱스 머지를 생성하는 방법
  • 20만건, 40만건의 테이블 조인에서 드라이빙 테이블 선정시 실행 속도 비교
  • employee 테이블과 department 테이블의 비트맵 조인 인덱스 생성
  • 100만건 이상의 테이블 전체 검색시 PARALLEL 힌트의 사용
  • 주민등록번호를 이용한 개인정보 조회시 IN 절의 사용

  • 1장. 데이터베이스와 SQL
    01 데이터베이스의 발전
    02 SQL과 관계형 모델
    03 SQL 유형
    04 쿼리

    2장. 데이터베이스 성능과 SQL 튜닝
    01 튜닝이란?
    02 튜닝의 분류
    03 튜닝 단계

    3장. SQL 튜닝을 위한 오라클 구조의 이해
    01 오라클 구조
    02 메모리 구조
    03 오라클 프로세스
    04 데이터 저장의 물리적/논리적 구조
    05 SQL 처리 과정

    4장. 최적화된 실행 경로 찾기 : 옵티마이저
    01 옵티마이저의 이해
    02 옵티마이저 액세스 방법과 목표 선택
    03 규칙 기준 옵티마이저

    5장. SQL 문의 실행 계획 : 비용 기준 옵티마이저
    01 비용 기준 옵티마이저 SQL 최적화 방법
    02 비용 기준 옵티마이저의 구조
    03 비용 기준 옵티마이저의 연산
    04 옵티마이저의 SQL문 변경 방법
    05 비용 기준 옵티마이저 관련 파라미터
    06 확장 가능한 옵티마이저
    07 옵티마이저의 한계
    08 SQL 튜닝과 옵티마이저의 관계

    6장. SQL 실행 계획과 힌트, 통계 정보의 활용
    01 SQL 실행 계획 이용
    02 HINT의 사용
    03 통계 정보의 수집과 활용

    7장. 효율적인 테이블 구조와 파티셔닝
    01 테이블 구조
    02 파티션 테이블
    l 튜닝사례 1 : 매출 데이터를 월별로 나누어 파티션 테이블 생성
    l 튜닝사례 2 : 지역별로 파티션 테이블 생성
    l 튜닝사례 3 : 매출일별/사원 번호별 파티션 테이블 생성
    03 클러스터
    l 튜닝사례 4 : 제품 번호에 대한 인덱스 클러스터 생성
    04 해시 클러스터
    l 튜닝사례 5 : 사원 번호에 대한 파티션 테이블 생성
    05 Index-organized 테이블

    8장. 인덱스를 이용한 SQL 튜닝
    01 인덱스의 이해
    02 인덱스의 종류
    03 B-tree 인덱스
    l 튜닝사례 6 : nologging 옵션을 이용한 인덱스의 생성
    04 비트맵 인덱스
    l 튜닝사례 7 : 비트맵 인덱스와 B-Tree 인덱스의 수행 속도 비교(1) 비트맵이 유리할 경우
    l 튜닝사례 8 : 비트맵 인덱스와 B-Tree 인덱스의 수행 속도 비교(2) B-Tree가 유리할 경우
    05 리버스 키 인덱스
    06 함수 기반 인덱스
    l 튜닝사례 9 : 함수 기반 인덱스와 B-Tree 인덱스 비교
    07 결합 인덱스
    l 튜닝사례 10 : 결합 인덱스 컬럼 순서가 끼치는 영향
    08 인덱스 머지
    l 튜닝사례 11 : 인덱스 머지와 인덱스 결합의 비교
    09 인덱스를 사용하지 못하는 경우

    9장. 데이터 액세스와 테이블 조인
    01 액세스 방법의 이해
    l 튜닝사례 12: 테이블 전체 검색시 병렬 실행 비교
    l 튜닝사례 13: 테이블 전체 검색/유니크 검색/병렬 조회 비교
    l 튜닝사례 14: 인덱스 범위 검색과 빠른 인덱스 전체 검색 비교
    l 튜닝사례 15: employees 테이블과 departments 테이블에 비트맵 조인 인덱스 생성
    l 튜닝사례 16: 부서와 직원 테이블에 클러스터 생성 후 클러스터 검색
    02 조인의 이해
    03 NESTED LOOP(NL) 조인
    l 튜닝사례 17: 직원(employees) 테이블과 직업(jobs) 테이블을 NL 조인
    l 튜닝사례 18: 건수 증가에 따른 NL조인
    04 소트 머지 조인
    l 튜닝사례 19: 건수 증가에 따른 소트 머지 조인
    05 해시 조인
    l 튜닝사례 20: 건수 증가에 따른 해쉬 조인
    l 튜닝사례 21: HASH_AREA_SIZE 값의 증가에 따른 속도 비교
    06 아우터 조인
    07 카테시안 조인
    08 드라이빙 테이블
    l 튜닝사례 22: 드라이빙 테이블 변경과 수행 속도

    10장. SQL의 병렬 처리와 튜닝
    01 병렬 작업의 기본 개념
    02 병렬 실행 서버 개수
    03 언제 병렬 실행을 사용하나
    04 병렬 DML과 DDL 문과 작업
    05 병렬 DML
    06 병렬 실행
    07 병렬 실행에 대한 일반적인 파라미터 튜닝
    08 V$ 뷰를 통한 병렬 작업 모니터링
    09 병렬 연산에 대한 EXPLAIN PLAN 과 AUTOTRACE 사용
    10 병렬 실행 튜닝과 관련된 팁
    l 튜닝사례 23: 테이블 전체 검색에 대한 병렬 실행

    11장. SQL 튜닝 실무와 고려 사항
    01 SQL 튜닝의 목표
    02 자원 소비가 많은 SQL에 대한 데이터 수집과 확인
    03 동적 샘플링
    04 SQL 문의 튜닝
    l 튜닝 예제 24: IN의 사용 - 서브쿼리의 선택도가 높은 필터
    l 튜닝 예제 25: EXISTS의 사용 - 상위 쿼리의 선택도가 높은 필터
    l 튜닝 예제 26: 인덱스 검색과 테이블 전체 검색 비교
    l 튜닝 예제 27: 비트맵 인덱스와 테이블 전체 검색 비교
    l 튜닝 예제 28: 결합인덱스와 인덱스, 테이블 전체 검색 비교
    l 튜닝 예제 29: 메모리 캐쉬 전과 후의 검색 속도 비교
    l 튜닝 예제 30: 조인 순서에 따른 수행 속도 비교
    l 튜닝 예제 31: 뷰를 사용한 UPDATE의 수행 속도
    05 DW에서 집합 함수와 ANALYTIC 함수의 사용
    l 튜닝 예제 32: ROLLUP 구문
    l 튜닝 예제 33: GROUP BY에 대한 CUBE확장
    l 튜닝 예제 34: ANALYTIC 함수의 이용 비교
    l 튜닝 예제 35: GROUPING 구문
    l 튜닝 예제 36: V$SQLAREA에서 디스크 읽기가 가장 많은 것부터 상위 5개의 SQL문을 추출
    l 튜닝 예제 37: 1999년의 분기별 고객 ID별로 누적된 amount_sold

    9. 관련 도서

    -『IT 백두대간 오라클 9i』(한빛미디어, 2002)
    -『30년 노하우로 녹여 낸 오라클 9i, 8i』(한빛미디어, 2002)
    -『30가지 장애 유형별 오라클 백업과 복구』(한빛미디어, 2003)
    저자 최승인 sichoe@hanmail.net

    한양대학교 일반대학원(MIS 전공)을 졸업한 후, 소프트그램에서 재직하였다. DBMS 튜닝, 특히 SQL 튜닝 부분에 관심이 많은 DB 개발자이다. 현재는 삼성 SDS 정보계 파트에서 데이터베이스 부문의 업무, 특히 데이터 웨어하우스 관련 개발과 운영을 전문으로 하고 있다.
    등록된 서평이 없습니다.
     
    전체평균(0)
    회원평점   회원서평수 0
    이메일주소수집거부