책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > MS SQL Server
· ISBN : 9788996246039
· 쪽수 : 492쪽
· 출판일 : 2010-08-24
책 소개
목차
시작하기 전에
1. 누가 읽어야 하는가
2. 미리 알아야 할 것들
(1) 쿼리 최적화
(2) 실행계획(Execution Plan)
(3) 실행계획 해석하기
3. 미리 준비해야 할 것들
(1) 예제 데이터베이스 설치
(2) 실습용 데이터베이스 설치
1장 인덱스 기초
1. 인덱스 구조
(1) B-tree 구조
(2) 인덱스 탐색과 북마크 룩업
2. 인덱스 특징
(1) 인덱스 키 컬럼 값으로 정렬
(2) 인덱스 페이지 분할(split)이 발생
(3) 첫 번째 컬럼에 대한 검색조건이 필요
(4) 인덱스 컬럼 가공 시 비효율 발생
3. 인덱스 종류
(1) 클러스터형 인덱스
(2) 넌클러스터형 인덱스
4. 인덱스 액세스 방식
(1) 인덱스 스캔(Index Scan)
(2) 인덱스 탐색(Index Seek)
2장 인덱스 활용
1. 북마크 룩업 최소화
(1) 인덱스에 컬럼 추가
(2) 클러스터형 인덱스로 변경
(3) 커버된(Covered) 인덱스
2. 인덱스 탐색 효율
(1) 모든 컬럼에 equal 조건을 사용했을 때
(2) 선행 컬럼에 between 조건을 사용했을 때
(3) in-list를 활용해 between 조건의 비효율 제거
(4) 선분이력의 인덱스 탐색 효율
3. 인덱스 설계
- 인덱스 설계 실습
3장 조인 원리와 활용
1. 중첩 루프(Nested Loops) 조인
(1) 기본 메커니즘
(2) 힌트로 NL 조인을 제어하는 방법
(3) NL 조인의 수행 과정 분석
(4) NL 조인의 특징
2. 병합(Merge) 조인
(1) 기본 메커니즘
(2) 힌트로 병합 조인을 제어하는 방법
(3) 병합 조인의 수행 과정 분석
(4) 병합 조인의 특징
(5) 병합 조인 실습
3. 해시(Hash) 조인
(1) 기본 메커니즘
(2) 힌트로 해시 조인을 제어하는 방법
(3) 해시 조인의 수행 과정 분석
(4) 해시 조인의 특징
4. 조인 순서와 성능
(1) NL 조인의 순서
(2) 해시 조인의 순서
4장 정렬의 최적화
1. 정렬이 발생하는 경우
(1) order by 사용 시
(2) group by 사용 시
(3) distinct 사용 시
(4) union 사용 시
(5) 순위 함수 사용 시
(6) 병합 조인 시
2. 인덱스로 정렬을 제거
(1) order by 조건을 만족하도록 인덱스에 컬럼 추가
(2) group by 조건을 만족하도록 인덱스에 컬럼 추가
(3) min·max 대상 컬럼을 인덱스에 추가
(4) 순위 함수의 over 절을 만족하도록 인덱스에 컬럼 추가
3. 정렬을 최소화하는 SQL 작성
(1) 불필요한 distinct 제거
(2) 비효율적인 count 개선
(3) 부적절한 union 대신 union all 사용
(4) NL 조인을 활용 - 부분적인 부분범위 처리
4. 페이지 처리
(1) 앞쪽 페이지를 주로 조회할 때
(2) 뒤쪽 페이지도 자주 조회할 때
(3) 적절한 인덱스가 없어서 정렬이 불가피할 때
5장 파티션
1. 파티션 개요
(1) 분할된 뷰(Partitioned View)
(2) 파티션(Partition)
2. 테이블 파티션
(1) 파티션 테이블 생성 절차
(2) 파티션 테이블 실행계획
(3) 파티션 경계 값 지정 시 주의 사항
(4) 파티션 컬럼 가공에 의한 비효율
3. 인덱스 파티션
(1) 인덱스 파티션 유형
(2) 인덱스 파티션 유형별 특징
(3) 파티션 인덱스 생성 절차
4. 슬라이딩 윈도우(Sliding Window)
(1) 파티션 하나를 두 개로 분할(split)
(2) 파티션 두 개를 하나로 병합(merge)
(3) 넌파티션 테이블과 파티션 테이블 간의 파티션 전환(switch)
6장 2005, 2008 버전의 신기능
1. T-SQL 향상
(1) 공통 테이블 식(CTE)
(2) CTE와 재귀적(Recursive) 쿼리
(3) 순위 창 함수(Ranking Window Functions)
(4) 새로운 연산자(New Operator)
(5) merge 문
2. Snapshot isolation
(1) 읽기와 쓰기가 서로 간섭하는 문제
(2) 문장 수준의 읽기 일관성
(3) 로우 버전 관리(Row Versioning)
(4) read committed with snapshot 격리 수준
(5) snapshot 격리 수준
3. 기타
(1) 인덱스 생성 시 include 옵션
(2) 온라인 인덱스 작업
(3) 새로운 데이터 형식