[목차] 개발자를 위한 인덱스 생성과 SQL 작성 노하우

서문 ‘쉬운 것이 바른 것
이 책의 특징과 구성
 
1: PCTFREE, PCTUSED
물탱크 구조와 오라클의 블록 옵션 비교하기
–     약방의 감초: PCTFREE PCTUSED 블록 옵션
–     PCTFREE 10% PCTUSED 40% 설정값 바꿔본 사람 있나요?
–     둘의 합이 100에 가까워서는 안 된다
–     맥가이버 병사의 순발력이 문제를 해결하다
–     고정관념에서 벗어나기를 바라며
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 1
 
 
2인덱스
이산가족 찾기로 배우는 DB의 분류 원리
–     KBS 이산가족 찾기 생방송
–     대형 할인매장의 전략
–     도둑은 분류를 좋아한다
–     개미 세계의 분류
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 2
 
3인덱스
인덱스는 분류물리적 분류와 논리적 분류
–     물리적 분류에서 논리적 분류로
–     거실의 책장 분류
–     라디오 방송국의 음반 분류
–     분류 대상과 분류 정보의 분리
–     물리적 분류와 논리적 분류
–     인덱스는 논리적 분류
–     지식은 그것을 필요로 하는 사람의 몫
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 3
 
4인덱스
인덱스에 대한 오해와 진실
결혼인가화혼인가!
결합인덱스의 컬럼 순서 결정방법
추천하는 결합인덱스의 컬럼 순서
원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 4
 
 
5인덱스
쉬운 것이 바른 것인덱스 컬럼 선정 기준
–     바른 것이 쉽다
–     성능 제고를 위해 우선 고려할 것인덱스
–     인덱스 대상 후보컬럼 선정 기준
–     분포도가 좋은 컬럼인가?
–     인덱스보다 풀스캔이 유리할 때
–     논리적 분포도로 판단할 때의 위험
–     특별한 물고기
–     ORDER BY 절 컬럼도 인덱스 후보일 수 있다
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 5
 
 
6인덱스
분류 본능을 활용하라 ‘인덱스 끝장리뷰
–     인덱스 수는 적정해야 한다
–     인덱스는 위치정보와 순서정보로 구성됐다
–     조건절에 사용하는 인덱스와 조인절에 사용하는 인덱스
–     인덱스 생성/삭제 시 고려사항
–     결합인덱스의 컬럼 순서 결정방법
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 6
 
 
7인덱스
누구도 알려주지 않았던 ‘오라클 인덱스 생성도의 비밀
–     어머니의 심부름두부가게와 쌀가게
–     오라클의 RBO 방식과 CBO 방식
–     인덱스 생성도의 기본 규칙
–     인덱스 생성도에 대한 이해
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 7
 
 
8쿼리
누구도 알려주지 않았던 SQL 작성의 규칙과 방법
–     공정무역과 공정여행공정쿼리
–     공정쿼리
–     나막사 주부의 심부름 메모지
–     나계획 주부의 심부름 메모지
–     공정쿼리반드시 이렇게 작성하라!
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 8
 
 
9쿼리
퀴리 최적화와 튜닝을 한 번에공정쿼리 작성법
–     배낭여행 스마트앱 만들기
–     오라클 CBO 방식과 통계정보
–     테이블 접근 순서 규칙 1: 진입형 테이블을 결정하라(사원테이블 선택 접근 시)
–     테이블 접근 순서 규칙 2: OUTER JOIN보다 INNER JOIN을 우선하라
–     테이블 접근 순서 규칙 3: 연결 확장형보다는 연결 축소형 테이블을 우선하라
–     인덱스 생성도와 공정쿼리 재작성하기
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 9
 
 
10쿼리
만능 쿼리와 한방 쿼리, DB는 집합적 사고로 접근해야
–     나쁜 사람이 세상을 발전시킨다?
–     심각한 만능 쿼리
–     핵심 조건절의 수만큼 쿼리를 분리해야
–     한방 쿼리에 대한 이해
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 10
 
11튜닝옵티마이저
오라클 옵티마이저, CBO RBO 이해하기
–     어머니의 심부름두부가게와 쌀가게
–     CBO 방식과 RBO 방식
–     CBO 방식옵티마이저와 통계정보실행계획
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 11
 
 
12쿼리쉬어가는 이야기
재미있는 DB 이야기 ‘60 갑자와 쿼리
–     10천간과 12지지•127 | 60갑자에서 규칙 찾기
–     10천간과 12지지 그리고 오라클 쿼리
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 12
 
 
13조인
그림으로 풀어보는 오라클의 조인 방식
–     택시 같은 Nested Loop Join
–     짝꿍 정해주기와 같은 Sort Merge Join
–     성씨 구역처럼 구분하는 Hash Join
–     오라클 조인 방식의 특징 비교
–     조인 방식과 조인 순서 결정하기
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 13
 
 
14실행계획
쿼리를 작성한 후에는 실행계획을 확인하라
–     실행계획을 알고 있어야 하는 이유
–     실행계획을 늘 확인하자
–     오라클 옵티마이저의 실행계획과 개발자의 실행계획
–     바인드 변수와 하드 파싱
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 14
 
 
15튜닝힌트절
놓치면 후회할 오라클 힌트절 7가지
–     힌트절로 옵티마이저의 실수 차단
–     접근 방법을 결정하는 힌트절: USE_NL USE_HASH
–     자원 사용을 결정하는 힌트절: INDEX, FULL, PARALLEL
–     배치 튜닝의 마법사 같은 힌트절 삼총사: USE_HASH, FULL, PARALLEL
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 15
 
 
16: NULL
개발자들의 영원한 숙제 NULL 이야기
–     이길 수 있을 때 공격하라
–     쉬우면서 어려운 존재, NUL
–     개발자를 힘들게 하는 NULL
–     NULL 회피 전략
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 16
 
 
17튜닝힌트절
개발자를 위한 유용한 선물, GATHER_PLAN_STATISTICS 힌트절
–     호미무시할 수 없는 그 존재감
–     GATHER_PLAN_STATISTICS, 무시할 수 없는 엄청난 존재감
–     튜닝을 위한 최고의 힌트절
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 17
 
 
18튜닝
놓치기 아까운 오라클의 유용한 기능들
–     COMMIT 이전의 상태로 되돌리는 기능 FLASHBACK
–     오라클에서 스케줄 작업 사용법
–     SAMPLE 혹은 SAMPLE BLOCK을 이용한 SAMPLE SCAN
–     종을 횡으로 구현하는 함수 WM_CONCAT
–     횡을 종으로 구현하는 함수 REGEXP_SUBSTR
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 18
 
 
19: DICTIONARY
오라클 딕셔너리 기반의 DB 툴 프로그램 ‘FreeSQL’
–     씨줄과 날줄
–     오라클 딕셔너리
–     오라클 딕셔너리를 이용한 DB 툴 개발
–     새로운 DB 프로그램 개발의 주인공은 바로 나
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 19
 
 
20: DICTIONARY, 쉬어가는 이야기
이제는 말할 수 있다주식 자동매매 프로그램()
–     프로그래머의 길에서 벗어나다
–     IMF! 구조조정주식새로운 길을 찾다
–     주식 자동매매 프로그램을 개발하다
 
 
21: DICTIONARY, 쉬어가는 이야기
이제는 말할 수 있다주식 자동매매 프로그램()
–     공시·뉴스 수집 프로그램
–     공시·뉴스 분석 프로그램
–     주식 자동매매 프로그램
–     테이블 구성에 대한 이해
–     API를 알면 보이는 것들
 
 
22에러 메시지
개발자들이 자주 접하는 오라클 에러 메시지
–     김기사와 빅데이터
–     조선시대에도 빅데이터가 있었다
–     오라클 에러 메시지 톱10
–     오라클 에러 메시지를 마무리하
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 22
 
 
23함수쉬어가는 이야기
사라진 날짜를 찾아라오라클에서 달력 다루기
–     곶감 만들기에 도전하다
–     동양과 서양의 달력
–     사라진 날짜를 찾아라
–     그레고리력과 오라클 DB
–     그레고리력 규칙을 이용해 요일 구하기
–     달력 팝업 창 쿼리 만들기
–     스토리를 마무리하며
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 23
 
 
24랜덤 함수
오라클 랜덤 함수와 사용자 정의 함수
–     오라클 랜덤 패키지 DBMS_RANDOM
–     문자열을 역순으로 리턴하는 REVERSE 함수
–     사용자 정의 함수를 만들어 쓰기
–     사용자 정의 함수 ISNUMERIC
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 24
 
 
25공정쿼리
그림으로 배우는 ‘공정쿼리와 인덱스 생성도
–     오라클 CBO 방식과 통계정보
–     장바구니 = 무엇을 + 어떻게
–     공정쿼리 = 무엇을 + 어떻게
–     인덱스 생성도에 대한 이해
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 25
 
 
26오라클 파라미터
디폴트 세팅의 함정과 오라클 파라미터
–     디폴트 세팅의 영향
–     디폴트 세팅의 함정
–     ‘사용자 설정은 의지의 설정
–     오라클 파라미터의 이해
–     오라클의 주요 파라미터
–     무모한 도전과 경험 사이에서
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 26
 
 
27쿼리쉬어가는 이야기
재미있는 DB 이야기, SQL로 구현하는 마방진
–     마방진은 현재 진행형
–     3차 마방진
–     4차 마방진
–     4차 슈퍼 마방진
–     3차 입체 마방진
–     기타 각종 마방진
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 27
 
28블록
오라클 운반 최소 단위블록
–     오라클 블록에 대한 이해
–     오라클 블록의 크기와 OLTP & OLAP
–     오라클 블록과 Row Chaining & Row Migration
–     오라클 블록과 성능의 연관성
–     원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 28
 
 
29인공지능쉬어가는 이야기
데이터가 촉발한 인공지능과 그 새로운 도전
–     컴퓨터와 인간의 대결?
–     구글의 인공지능 알파고
–     인공지능·머신러닝·딥러닝
–     머신러닝
–     딥러닝
 
 
30쉬어가는 이야기
DB 엔지니어의 계산 방식과 기계의 계산 방식
–     ‘옥뮤다’ 택배 실종사건•320 두 번째 버스를 타자
–     인간의 계산 방식 vs. 기계의 계산 방식
 
 
31튜닝페이징
페이징 처리에 대한 이해
–     프로그램 페이징 처리와 서버 페이징 처리
–     전체 범위 페이징 처리와 부분 범위 페이징 처리
–     MySQL LIMIT와 오라클의 ROW_NUMBER
–     최고의 페이징 처리와 최적의 페이징 처리
 
32튜닝쿼리
보기 좋은 떡이 먹기도 좋다좋은 쿼리 좋은 성능
–     무질서와 질서
–     옵티마이저가 동일한 쿼리로 인식하도록 작성
–     표현 방식이 다르면 다른 SQL 문으로 인식
 
 
33튜닝테이블 분할
성능 개선을 위한 테이블 수직분할과 수평분할
–     테이블 분할을 알아야 하는 이유
–     I/O 성능 개선을 위한 수직분할
–     처리 성능 개선을 위한 수평분할
–     수직분할과 수평분할의 결정 기준
 
 
34튜닝채번
성능 제고를 위한 채번 이해와 방식별 장단점 비교
–     채번에 대한 이해
–     채번 테이블을 이용하는 방식
–     테이블에서 최댓값을 이용하는 방식
–     시퀀스를 이용하는 방식
–     채번 방식에 대한 장단점 비교
 
 
35튜닝
개발자를 위한 튜닝실전 1생명체처럼 다뤄라
–     인덱스필요한 데이터를 빨리 찾기
–     GROUOP BY 절 사용과 성능 이슈
 
36튜닝
개발자를 위한 튜닝실전 2줄이고 또 줄여라
–     줄이고 줄이고 또 줄이자
–     홍길동을 찾아라
 
37튜닝
개발자를 위한 튜닝실전 3인덱스를 사용하지 않을 때 대처법•361
–     인덱스를 사용하지 않는 경우 1: 컬럼 변형 시
–     인덱스를 사용하지 않는 경우 2: 타입 변형 시
–     인덱스를 사용하지 않는 경우 3: NULL 사용 시
–     인덱스를 사용하지 않는 경우 4: 부정형 사용 시
–     인덱스를 사용하지 않는 경우 5: LIKE 사용 시
–     인덱스를 사용하지 않는 경우 6: 인덱스 경합 발생 시
–     인덱스를 회피하는 방법
 
 
스토리 DB 문제 풀이와 정답
찾아보기 

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다