logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

SQL BOOSTER

SQL BOOSTER

(프로젝트 성공을 위한 SQL 필독서)

유일환 (지은이)
  |  
DBian(디비안)
2019-11-01
  |  
28,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 26,600원 -5% 0원 840원 25,760원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

SQL BOOSTER

책 정보

· 제목 : SQL BOOSTER (프로젝트 성공을 위한 SQL 필독서)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9791196395759
· 쪽수 : 384쪽

책 소개

프로젝트 성공을 위한 SQL 필독서. 프로젝트를 진행하는 순서처럼 구성되어 있다. 프로젝트 투입을 위해 필요한 SQL 기술을 설명하고, 성능 테스트를 위해 필요한 기술을 설명한 뒤에 마지막으로 성공적인 오픈을 위해 필요한 SQL 기술들을 설명한다.

목차

PART. I Kick-Off, 프로젝트 시작을 위한 SQL 기술
Chapter. 1 준비하기

1.1 연습을 위한 환경 구성
1.1.1 연습용 테이블 스페이스 만들기
1.1.2 연습용 사용자 만들기

1.2 연습용 데이터베이스 구성
1.2.1 연습용 테이블 생성하기
1.2.2 연습용 데이터 생성하기

Chapter. 2 GROUP BY와 ROLLUP
2.1 GROUP BY
2.1.1 GROUP BY 이해하기
2.1.2 GROUP BY 컬럼의 변형
2.1.3 집계함수에서 CASE문 활용하기
2.1.4 COUNT 집계함수
2.1.5 중복을 제거한 COUNT
2.1.6 HAVING

2.2 ROLLUP
2.2.1 ROLLUP 이해하기
2.2.2 ROLLUP의 컬럼 순서
2.2.3 GROUPING
2.2.4 ROLLUP 컬럼의 선택

2.3 소계를 구하는 다른 방법
2.3.1 ROLLUP을 대신하는 방법
2.3.2 CUBE
2.3.3 GROUPING SETS

Chapter. 3 JOIN
3.1 INNER-JOIN
3.1.1 INNER-JOIN 이해하기
3.1.2 여러 테이블의 조인
3.1.3 잘 못 작성한 조인(M:1:M 조인)
3.1.4 RANGE-JOIN

3.2 OUTER-JOIN
3.2.1 OUTER-JOIN 이해하기
3.2.2 OUTER-JOIN의 필터 조건
3.2.3 실행이 불가능한 OUTER-JOIN
3.2.4 OUTER-JOIN이 포함된 여러 테이블의 조인
3.2.5 OUTER-JOIN의 응용

3.3 CARTESIAN-JOIN
3.3.1 CARTESIAN-JOIN 이해하기
3.3.2 CARTESIAN-JOIN의 위험성
3.3.3 분석마스터 만들기
3.3.4 테스트 데이터 만들기

Chapter. 4 유용한 SQL 문법
4.1 서브쿼리
4.1.1 서브쿼리의 종류
4.1.2 SELECT 절의 단독 서브쿼리
4.1.3 SELECT 절의 상관 서브쿼리
4.1.4 SELECT 절 서브쿼리 - 단일 값
4.1.5 WHERE 절 단독 서브쿼리
4.1.6 WHERE 절 상관 서브쿼리

4.2 MERGE
4.2.1 MERGE
4.2.2 MERGE를 사용한 UPDATE

4.3 WITH
4.3.1 WITH
4.3.2 WITH 절을 사용한 INSERT

PART. II 성능 테스트, 성능 개선을 위한 SQL 기술
Chapter. 5 성능 개선을 위한 기본 지식

5.1 실행계획
5.1.1 당부의 글
5.1.2 실행계획
5.1.3 실행계획 확인하기
5.1.4 실행계획의 순서
5.1.5 실제 실행계획 확인하기

5.2 성능 개선을 위한 최소한의 지식
5.2.1 옵티마이져(Optimizer)
5.2.2 소프트 파싱, 하드 파싱
5.2.3 IO(Input, Output)
5.2.4 블록(BLOCK)
5.2.5 논리적 IO와 물리적 IO
5.2.6 부분 범위 처리

Chapter. 6 INDEX
6.1 INDEX의 기본 개념
6.1.1 인덱스(INDEX)란?
6.1.2 인덱스의 종류
6.1.3 B*트리 구조와 탐색 방법
6.1.4 데이터를 찾는 방법
6.1.5 데이터를 찾는 방법 - 테이블 전체 읽기
6.1.6 데이터를 찾는 방법 - 인덱스를 이용한 찾기
6.1.7 INDEX RANGE SCAN VS. TABLE ACCESS FULL

6.2 단일 인덱스
6.2.1 단일 인덱스의 컬럼 정하기
6.2.2 단일 인덱스 VS. 복합 인덱스

6.3 복합 인덱스
6.3.1 복합 인덱스 - 컬럼 선정과 순서#1
6.3.2 복합 인덱스 - 컬럼 선정과 순서#2
6.3.3 복합 인덱스 - 컬럼 선정과 순서#3
6.3.4 복합 인덱스 - 컬럼 선정과 순서#4

6.4 인덱스의 활용
6.4.1 인덱스로 커버된 SQL
6.4.2 Predicate Information - ACCESS
6.4.3 너무 많은 인덱스의 위험성
6.4.4 인덱스 설계 과정
Chapter. 7 JOIN과 성능
7.1 조인의 내부적인 처리 방식
7.1.1 조인의 3가지 처리 방식
7.1.2 NESTED LOOPS JOIN
7.1.3 MERGE JOIN
7.1.4 HASH JOIN

7.2 NL 조인과 성능
7.2.1 성능 테스트를 위한 테이블 생성
7.2.2 후행 집합에 필요한 인덱스
7.2.3 선행 집합 변경에 따른 쿼리 변형
7.2.4 조인 횟수를 줄이자#1
7.2.5 조인 횟수를 줄이자#2
7.2.6 여러 테이블의 조인
7.2.7 과도한 성능 개선
7.2.8 선행 집합은 항상 작은 쪽이어야 하는가?

7.3 MERGE 조인과 성능
7.3.1 대량의 데이터 처리
7.3.2 필요한 인덱스

7.4 HASH 조인과 성능
7.4.1 대량의 데이터 처리
7.4.2 빌드 입력 선택의 중요성
7.4.3 대량의 데이터에만 사용할 것인가?
7.4.4 어떤 조인을 사용할 것인가?

PART. III 오픈, 훌륭한 마무리를 위한 SQL 기술
Chapter. 8 OLTP SQL 기술

8.1 트랜잭션
8.1.1 트랜잭션(Transaction)이란?
8.1.2 트랜잭션 테스트
8.1.3 트랜잭션 고립화 수준 - READ COMMITTED

8.2 락(LOCK)
8.2.1 락(LOCK)
8.2.2 SELECT~FOR UPDATE
8.2.3 대기(WAIT) 상태
8.2.4 데드락(DEAD-LOCK, 교착상태)
8.2.5 트랜잭션 최소화
8.2.6 방어 로직
8.2.7 불필요한 트랜잭션의 분리

8.3 문서번호 처리 기술
8.3.1 SELECT MAX 방식
8.3.2 SELECT MAX 방식의 성능
8.3.3 SELECT MAX 방식의 중복 오류
8.3.4 채번 테이블
8.3.5 채번함수

8.4 시퀀스와 ROWNUM
8.4.1 시퀀스 객체(Sequence Object)
8.4.2 잘못 활용한 시퀀스
8.4.3 최근 데이터를 가져오는 기술

Chapter. 9 분석함수
9.1 OVER 절
9.1.1 OVER 절 이해하기
9.1.2 분석 대상
9.1.3 OVER - PARTITION BY
9.1.4 OVER - ORDER BY

9.2 기타 분석함수
9.2.1 순위 분석함수
9.2.2 ROW_NUMBER
9.2.3 LAG, LEAD

9.3 분석함수를 대신하기
9.3.1 분석함수를 대신하는 방법
9.3.2 PARTITION BY를 대신하기
9.3.3 ROW_NUMBER를 대신하기

Chapter. 10 페이징 처리 기술
10.1 페이징 기술
10.1.1 페이징의 종류
10.1.2 DB 페이징
10.1.3 DB-INDEX 페이징

10.2 페이징 성능 높이기
10.2.1 페이징을 위한 카운트 처리
10.2.2 DB-INDEX 페이징의 성능 개선
10.2.3 DB-INDEX 페이징으로 유도하기
10.2.4 DB-INDEX 페이징의 한계

Chapter. 11 SQL 개발 가이드
11.1 WHERE 절 가이드
11.1.1 WHERE 절의 컬럼은 변형하지 않는다
11.1.2 날짜 조건 처리하기
11.1.3 조건 값은 컬럼과 같은 자료형을 사용한다
11.1.4 NOT IN 보다는 IN을 사용한다
11.1.5 불필요한 LIKE는 제거하자

11.2 불필요한 부분 제거하기
11.2.1 불필요한 COUNT는 하지 않는다
11.2.2 COUNT에 불필요한 부분은 제거한다
11.2.3 불필요한 컬럼은 사용하지 않는다
11.2.4 동일 테이블의 반복 서브쿼리를 제거하자

11.3 생각의 전환
11.3.1 사용자 함수 사용의 최소화
11.3.2 작업량을 줄이자
11.3.3 집계 테이블을 고민하자

저자소개

유일환 (지은이)    정보 더보기
서경대학교에서 컴퓨터 공학을 전공하고 2001년부터 개발자로 일을 시작했다. 2005년부터 2017년까지 중국 삼성전자 판매 법인에 필요한 시스템이 적시에 개발되도록 DA(Data Architecture) 임무를 수행했다. 판매, 유통, 데이터 분석 등의 다양한 업무의 데이터베이스를 설계했으며 수많은 배치와 핵심 SQL들을 개발하고 튜닝해왔다. 이전 책으로 ‘SQL BOOSTER’가 있으며, 최근에는 튜닝 프로젝트를 주로 맡아 진행하고 있다. 대한민국이 데이터 강국이 되기를 원하는 마음으로 계속해서 책을 집필 중이며 교육도 진행하고 있다.
펼치기

책속에서




이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책