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

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

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

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

이병국 (지은이), 김기창 (감수)
  |  
글봄크리에이티브
2018-06-15
  |  
35,000원

일반도서

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

중고도서

검색중
로딩중

e-Book

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

책 이미지

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

책 정보

· 제목 : 개발자를 위한 인덱스 생성과 SQL 작성 노하우 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9788996560081
· 쪽수 : 404쪽

책 소개

개발자 입장에서 DB 인덱스 처리와 쿼리 작성 노하우를 명쾌하게 알려준다. DB 전문가 대상의 이론이나 개념 중심의 튜닝에서 벗어나 코딩 시 헷갈리는 인덱스 지점을 어떻게 잡고, 실행계획(plan) 적용 방법을 그림과 비유로 흥미롭게 소개한다.

목차

서문 '쉬운 것이 바른 것'
이 책의 특징과 구성

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회: 인덱스
누구도 알려주지 않았던 '오라클 인덱스 생성도'의 비밀o72
- 어머니의 심부름: 두부가게와 쌀가게
- 오라클의 RBO 방식과 CBO 방식
- 인덱스 생성도의 기본 규칙
- 인덱스 생성도에 대한 이해
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 7

8회: 쿼리
누구도 알려주지 않았던 SQL 작성의 규칙과 방법o89
- 공정무역과 공정여행, 공정쿼리
- 공정쿼리
- 나막사 주부의 심부름 메모지
- 나계획 주부의 심부름 메모지
- 공정쿼리, 반드시 이렇게 작성하라!
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 8

9화: 쿼리
퀴리 최적화와 튜닝을 한 번에! 공정쿼리 작성법o103
- 배낭여행 스마트앱 만들기
- 오라클 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지지o127 | 60갑자에서 규칙 찾기
- 10천간과 12지지 그리고 오라클 쿼리
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 12

13회: 조인
그림으로 풀어보는 오라클의 조인 방식
- 택시 같은 Nested Loop Join
- 짝꿍 정해주기와 같은 Sort Merge Join
- 성씨 구역처럼 구분하는 Hash Join
- 오라클 조인 방식의 특징 비교
- 조인 방식과 조인 순서 결정하기
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 13

14회: 실행계획
쿼리를 작성한 후에는 실행계획을 확인하라o143
- 실행계획을 알고 있어야 하는 이유
- 실행계획을 늘 확인하자
- 오라클 옵티마이저의 실행계획과 개발자의 실행계획
- 바인드 변수와 하드 파싱
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 14

15회: 튜닝, 힌트절
놓치면 후회할 오라클 힌트절 7가지
- 힌트절로 옵티마이저의 실수 차단
- 접근 방법을 결정하는 힌트절: USE_NL과 USE_HASH
- 자원 사용을 결정하는 힌트절: INDEX, FULL, PARALLEL
- 배치 튜닝의 마법사 같은 힌트절 삼총사: USE_HASH, FULL, PARALLEL
- 원리를 이해하고 논리로 풀어가는 쉬어가는 스토리 DB 문제 15

16회: NULL
개발자들의 영원한 숙제 NULL 이야기o173
- 이길 수 있을 때 공격하라
- 쉬우면서 어려운 존재, 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'
- 씨줄과 날줄o208 | 오라클 딕셔너리o209 오라클 딕셔너리를 이용한 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 엔지니어의 계산 방식과 기계의 계산 방식
- '옥뮤다' 택배 실종사건o320 두 번째 버스를 타자
- 인간의 계산 방식 vs. 기계의 계산 방식

31회: 튜닝, 페이징
페이징 처리에 대한 이해
- 프로그램 페이징 처리와 서버 페이징 처리
- 전체 범위 페이징 처리와 부분 범위 페이징 처리
- MySQL의 LIMIT와 오라클의 ROW_NUMBER
- 최고의 페이징 처리와 최적의 페이징 처리

32회: 튜닝, 쿼리
보기 좋은 떡이 먹기도 좋다, 좋은 쿼리 좋은 성능
- 무질서와 질서
- 옵티마이저가 동일한 쿼리로 인식하도록 작성
- 표현 방식이 다르면 다른 SQL 문으로 인식

33회: 튜닝, 테이블 분할
성능 개선을 위한 테이블 수직분할과 수평분할
- 테이블 분할을 알아야 하는 이유
- I/O 성능 개선을 위한 수직분할
- 처리 성능 개선을 위한 수평분할
- 수직분할과 수평분할의 결정 기준

34회: 튜닝, 채번
성능 제고를 위한 채번 이해와 방식별 장단점 비교
- 채번에 대한 이해
- 채번 테이블을 이용하는 방식
- 테이블에서 최댓값을 이용하는 방식
- 시퀀스를 이용하는 방식
- 채번 방식에 대한 장단점 비교

35회: 튜닝
개발자를 위한 튜닝실전 1편: 생명체처럼 다뤄라
- 인덱스, 필요한 데이터를 빨리 찾기
- GROUOP BY 절 사용과 성능 이슈

36회: 튜닝
개발자를 위한 튜닝실전 2편: 줄이고 또 줄여라
- 줄이고 줄이고 또 줄이자
- 홍길동을 찾아라

37회: 튜닝
개발자를 위한 튜닝실전 3편: 인덱스를 사용하지 않을 때 대처법o361
- 인덱스를 사용하지 않는 경우 1: 컬럼 변형 시
- 인덱스를 사용하지 않는 경우 2: 타입 변형 시
- 인덱스를 사용하지 않는 경우 3: NULL 사용 시
- 인덱스를 사용하지 않는 경우 4: 부정형 사용 시
- 인덱스를 사용하지 않는 경우 5: LIKE 사용 시
- 인덱스를 사용하지 않는 경우 6: 인덱스 경합 발생 시
- 인덱스를 회피하는 방법

스토리 DB 문제 풀이와 정답
찾아보기

저자소개

이병국 (지은이)    정보 더보기
동아제약 전산실에서 개발 업무를 시작으로 프리랜서 개발자로 독립해 활동하던 중 DB와 인연을 맺게 됐다. 삼성생명 전산 운영팀에서 쿼리 성능을 개선하는 DB 튜닝과 IOA(Input-Output Analysis) 업무를 담당했다. 이때 사내 개발자 대상의 DB 접근 노하우와 SQL 튜닝 교육을 수차례에 걸쳐 하면서 실력을 인정 받았다. 이 경험을 바탕으로 데이터 지식 포털인 DBGuide.net에 「개발자를 위한 오라클 이야기」를 연재해 좋은 반응을 얻었다.
펼치기
김기창 (지은이)    정보 더보기
저자는 데이터 분야에서 15년 이상 일하고 있으며, 현재는 위즈덤마인드(www.wisdom-mind.co.kr)에서 대표 컨설턴트로서 데이터 모델링과 DA(Data Architecture) 컨설팅을 하고 있다. 특별히 풍부한 실전을 바탕으로 데이터 모델링을 직접 수행하며, 실무에 적절한 DA 컨설팅을 하는 것이 강점이다. 저서로는 [데이터베이스 활용을 위한 SQL Server 2000], [관계형 데이터 모델링 프리미엄 가이드], [관계형 데이터 모델링 노트]가 있다. [전사적 데이터 아키텍처 프레임웍에 대한 개념 모델 개발] 논문을 발표했고, [데이터 모델 리소스 북 1권]을 번역했다. 모델러가 기업에게 제공할 최고의 가치는 좋은 모델을 제공하는 것이라고 생각하고 있다. 소명을 갖고 많은 기업에서 진짜 모델이 운영되는 것을 꿈꾸고 있으며, 그런 모델을 설계하는 진짜 모델러가 많아질 수 있도록 노력하고 있다.
펼치기

추천도서

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