서브메뉴

본문

오라클 실무활용 SQL튜닝
오라클 실무활용 SQL튜닝
저자 : 정재준
출판사 : 커널연구회
출판년 : 2012
정가 : 33000, ISBN : 9788997750047

책소개


데이터처리의 핵심은 sorting과 search이다. 이것은 처리하고자 하는 데이터의 수와 내부 알고리즘에 따라서 엄청난 실행속도 차이가 발생한다. 수백만~수천만개의 데이터를 처리하고자 한다면 자료구조를 최대한 효율적으로 설계해야 하며, 통계분포, 저장방식 또한 고려해야 한다. DBMS 튜닝은 자료처리를 비효율적으로 하는 부분을 찾아서 바로잡아 가는 작업이며 명확한 원리 이해를 바탕으로 한다. 우리는 프로그램을 눈에 보이는 외형이나 디자인과 같은 시각적인 면만 강조하는 경향이 있다.

하지만 건축물 내부의 설계와 기초공사를 튼튼히 하지 않으면 건축물에 대한 안정성과 신뢰도가 떨어져 장기적인 발전을 기대할 수 없듯이, 프로그래밍 또한 기초지식이 되는 자료구조와 내부 알고리즘의 명확한 이해를 바탕으로 코딩해야 한다. 오늘날 정보처리를 하고자 하는 모든 업무분야에서 DBMS를 활용하고 있고 오라클은 선도적인 역할을 하고 있다. 정보처리 분야에서 경쟁력을 갖추어 나가기 위해서 오라클 DBMS를 이해하고 잘 활용하는 것은 중요한 가치가 되었다. 아울러, 데이터베이스의 원리를 이해하고 개발해 나가고자 하는 노력이 필요하다. 이 책은 저자가 실무에서 오라클 DBMS를 사용하면서 쌓아온 지식들을 정리하고 오라클 기술문서 원문을 참고하면서 워드로 하나하나 타이핑하여 집필한 것이다. 문장마다 저자의 땀방울이 스며 있음을 이해해 주길 바란다.

목차


오라클 실무활용 SQL 튜닝2
저작권
저자 소개
책내용 전체요약 (SECOND EDITION)
문서 표준
목차
제1부 SQL 튜닝을 위한 배경지식
제1장 DBMS 서버
1.1 DBMS 서버 소개
1.2 메모리 구조체와 프로세스들
1.3 데이터베이스 구조체와 물리적 저장장치
1.4 오라클 네트워크 서비스
1.5 오라클 파라미터들
1.6 구조화된 질의 언어(SQL: STRUCTURED QUERY LANGUAGE)
제2장 DBMS 스키마
2.1 스키마 객체들 소개
2.2 테이블
2.3 뷰(VIEWS)
2.4 인덱스(INDEXES)
2.5 조직화된 인덱스(INDEX-ORGANIZED) 테이블
2.6 클러스터(CLUSTERS)
2.7 해시 클러스터(HASH CLUSTERS)
제3장 SQL 옵티마이저 및 실행계획
3.1 SQL 처리구조 이해
3.2 옵티마이저 이해
3.3 옵티마이저의 SQL 실행계획(EXPLAIN PLAN)
3.4 옵티마이저의 접근방식 및 목표선택
3.5 비용기준 옵티마이저(CBO) 이해
3.6 CBO에서 사용하는 접근경로에 대한 이해
3.7 조인(JOINS)에 대한 이해
3.8 옵티마이저 힌트들
제4장 SQL 옵티마이저 연산자들
4.1 옵티마이저가 어떻게 연산자들을 수행하는가?
4.2 옵티마이저가 어떻게 SQL 문장들을 변환하는가?
제5장 옵티마이저 통계자료 수집
5.1 통계자료에 대한 이해
5.2 통계자료 발생
5.3 통계자료 사용
5.4 히스토그램 사용
제6장 SQL TRACE 와 TKPROF
6.1 SQL TRACE 와 TKPROF 이해
6.2 SQL TRACE 기능과 TKPROF 사용
6.3 TKPROF 해석시 함정을 피하는 방법
6.4 TKPROF 출력물 예제
제7장 오라클 튜닝 절차
7.1 튜닝 절차 요약
7.2 SQL 튜닝 목표
7.3 자원 집약적인 SQL에서 데이터 수집과 식별
7.4 SQL 문장 튜닝 이해
제2부 SQL 성능 분석
제8장 접근논리 성능분석
8.1 등호 및 부정조건 분석
8.2 범위조건 분석
8.3 집합연산자의 정렬(SORT) 분석
제9장 인덱스 성능분석
9.1 B-TREE 인덱스 성능분석
9.2 결합 인덱스 성능분석
9.3 함수기반 인덱스 성능분석
9.4 인덱스 사용제어
제10장 조인 성능분석
10.1 드라이빙 테이블 분석
10.2 조인 방식 제어
제11장 서브쿼리 성능분석
11.1 서브쿼리 분석
11.2 IN, EXISTS 분석
제3부 SQL 튜닝 실무사례
제12장 인덱스 활용 튜닝
12.1 인덱스 힌트 사용
12.2 효율적인 인덱스 컬럼 사용
12.3 매개변수로 전달되는 값에 대한 튜닝
제13장 조인 튜닝
13.1 NESTED LOOP 조인
13.2 HASH 조인
13.3 NESTED LOOP 조인과 HASH 조인의 차이점
13.4 조인 순서의 중요성
13.5 처리범위의 최소화
13.6 드라이빙 테이블의 중요성
13.7 연결고리 컬럼의 중요성
제14장 OR조건 튜닝
14.1 복잡한 OR 조건을 단순화(DECODE 활용)
14.2 OR 조건을 UNION ALL로 처리
14.3 UNION ALL을 INLIST ITERATOR로 튜닝하기
제15장 부분범위 처리
15.1 부분범위 처리로 유도
15.2 SEMI-JOIN 튜닝(EXISTS, IN 활용)
15.3 ANTI-JOIN 튜닝(NOT EXISTS, NOT IN 활용)
15.4 웹게시판 형태의 부분범위 처리
제16장 다양한 조건문 튜닝
16.1 쿼리문에서 IF 조건 처리
16.2 CASE 문을 활용한 쿼리
16.3 행열 변환 쿼리
16.4 쿼리문 통합으로 SQL 호출 단순화
제17장 적절한 함수 사용 튜닝
17.1 조건절(WHERE) 안에서 함수 사용의 영향
17.2 적절한 함수의 사용
17.3 함수을 사용하여 복잡한 쿼리을 단순화
17.4 분석(ANALYTIC) 및 통계(RANKING) 함수의 활용
제18장 정렬(SORTING)기준 오라클9I와 11G 차이
18.1 C: 실행결과 동일, 쿼리문 변경없음
18.2 D: GROUP BY 결과와 ORDER BY 결과가 같은경우
18.3 E: GROUP BY 결과와 ORDER BY 결과가 다른경우
18.4 머지(MERGE)와 해시(HASH)의 차이점
기부금 안내
부록
부록1. 오라클10G(10.2.0.1) 제품비교 및 설치
1. 오라클10G 제품별 특징
2. 윈도우용 오라클10G(EXPRESS EDITION) 설치
3. 리눅스용 오라클10G(EXPRESS EDITION) 설치
부록2. 사원관리 DB 스키마 생성
부록3. BTREE 논문 번역