• 메인으로 이동
    AD광고
    New경이롭고 치열한 생존 이야기극한 진화의 세계
    AD광고
    New사랑과 우정으로 빛나는 모험프린세스 캐치 티니핑
    • 베스트
    • 소득공제
    • 무료배송

    SQL TUNER for PostgreSQL(기본원리편)

    • 유일환 저
    • 디비안
    • 2026년 03월 01일
    10%35,10039,000
    적립금
    1,950원 (5% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 9/9(수) 출고 가능
    택배보다 빠른, 나우드림
    35,100

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791191941135
    쪽수460쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 시스템공학
    관련 이벤트
    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    책 소개

    SQL 성능 문제는요령이 아니라원리싸움입니다.

    이 책은 당장 써먹을 수 있는 단편적인 팁 모음이 아닙니다. 만약 SQL 성능 문제에 대한 즉각적인 해법만을 찾는다면 이 책은 적합하지 않습니다.

    이 책은 SQL 튜닝의 기본 원리를 심도 있게 다룹니다. 원리를 중심에 두고, 그 원리가 실제로 어떻게 작동하는지 예제와 실행계획, 충실한 설명과 그림을 통해 하나씩 검증하듯 정리했습니다. 원리를 정확히 이해하고 경험을 쌓아가면, 실무에서 어떤 형태의 성능 문제를 만나더라도 스스로 원인을 찾고 해법을 도출할 수 있습니다.

    또한 이 책에서 다루는 기본 원리는 PostgreSQL에만 국한되지 않습니다. DBMS가 달라져도 성능을 좌우하는 핵심 메커니즘은 본질적으로 유사하므로, 이 책에서 익힌 사고방식과 접근법은 다른 환경에서도 그대로 적용할 수 있습니다

    목차

    [목 차]
      

    CHAPTER 01 성능을 위한 기본 지식

    1-1. SQL 튜닝이란

    1-1-1. SQL 튜닝 사례

    1-2. 실습환경 구성하기

    1-2-1. ERD

    1-2-2. 실습환경 구성하기

    1-3. SQL 튜닝의 주요 요소

    1-3-1. Index

    1-3-2. 비효율 SQL 변경

    1-3-3. 힌트 사용

    1-3-4. SQL 성능에 영향을 주는 기타 요소

    1-4. SQL 처리 과정

    1-4-1. Parsing

    1-4-2. Optimization

    1-4-3. Execution

    1-4-4. Fetch

    1-5. 옵티마이저와 실행계획

    1-5-1. 옵티마이저

    1-5-2. 실행계획

    1-5-3. 옵티마이저와 SQL 튜닝

    1-5-4. 비용 기반 옵티마이저

    1-5-5. 옵티마이저가 말하길, 나도 힘들다.

    1-6. 통계

    1-6-1. 테이블 통계(pg_class)

    1-6-2. 컬럼 통계(pg_stats)

    1-6-3. 통계는 언제 만들어지는가?

    1-7. I/O

    1-7-1. I/O

    1-7-2. 블록

    1-7-3. 데이터 블록과 인덱스 블록

    1-7-4. 메모리 vs. 디스크

    1-7-5. 메모리 I/O vs. 디스크 I/O

    1-7-6. Shared Buffer

     

    CHAPTER 02 실행계획

    2-1. 실행계획

    2-1-1. EXPLAIN

    2-1-2. 오퍼레이션

    2-1-3. 실행계획 트리

    2-1-4. Child First

    2-1-5. 힌트의 기본 사용법

    2-2. EXPLAIN 옵션

    2-2-1. EXPLAIN ANALYZE

    2-2-2. 추가 옵션

    2-2-3. BUFFERS

    2-2-4. actual time 해석

     

    CHAPTER 03 인덱스

    3-1. 인덱스 개념 잡기

    3-1-1. 인덱스란?

    3-1-2. Seq Scan

    3-1-3. 인덱스로 Seq Scan 비효율 개선하기

    3-1-4. 인덱스 개념 잡기

    3-2. 테이블과 인덱스 구조

    3-2-1. 테이블 구조

    3-2-2. 인덱스 구조

    3-2-3. 트리 구조의 데이터 탐색

    3-2-4. 인덱스 구조는 어떻게 만들어지는가?

    3-2-5. 인덱스의 실제 크기

    3-2-6. 인덱스 높이와 균형

    3-3. 테이블에서 데이터를 찾아내는 방법

    3-3-1. 테이블 전체를 스캔해 찾기

    3-3-2. 인덱스를 활용해 찾기

    3-3-3. 레코드의 물리적 주소를 활용해 찾기

    3-3-4. 방법에 따른 실제 I/O 검증해 보기

    3-4. 인덱스 스캔 심화

    3-4-1. 인덱스 시각화

    3-4-2. 인덱스 스캔 3단계

    3-4-3. 인덱스 처리 조건과 테이블 처리 조건

    3-4-4. 테이블 접근이 없는 인덱스 스캔

    3-4-5. 테이블 접근과 성능

    3-4-6. 어떤 인덱스를 사용할까?

    3-4-7. 인덱스 분류

     

    CHAPTER 04 PostgreSQL의 인덱스 스캔

    4-1. Index Scan

    4-1-1. 동등 조건

    4-1-2. 범위 조건

    4-1-3. Filter Rows Removed by Filter

    4-2. Index Only Scan

    4-2-1. Index Only Scan

    4-2-2. Index Only Scan vs. Index Scan

    4-2-3. Index Only Scan Heap Fetches

    4-3. Bitmap Scan

    4-3-1. Bitmap Index Scan & Bitmap Heap Scan

    4-3-2. Bitmap Scan vs. Index Scan

    4-4. Index Full Scan

    4-4-1. Index Full Scan

    4-4-2. Index Full Scan vs. Index Only Scan

     

    CHAPTER 05 인덱스와 성능

    5-1. 어느 컬럼에 인덱스를 만들 것인가?

    5-1-1. ord_st

    5-1-2. shop_id

    5-1-3. pkup_dtm

    5-1-4. 어느 컬럼에 인덱스를 만들 것인가?

    5-2. 복합 인덱스

    5-2-1. 단일 인덱스 vs. 복합 인덱스

    5-2-2. 복합 인덱스

    5-2-3. 복합 인덱스 컬럼 순서와 리프 블록

    5-2-4. 복합 인덱스 검색키 결정 규칙

    5-2-5. Index Filter

    5-2-6. 복합 인덱스의 선두 조건 누락

    5-2-7. 복합 인덱스 설계하기

    5-3. 생각보다 까다로운 인덱스

    5-3-1. 검색키와 스톱키가 없는 SQL

    5-3-2. 주의가 필요한 날짜 컬럼

    5-3-3. 언제까지 인덱스를 사용할 것인가?

    5-3-4. 너무 많은 인덱스의 위험성

    5-3-5. 중복된 인덱스

    5-3-6. Prepared Statements Generic Plan

    5-3-7. LIKE 패턴과 인덱스

    5-4. 특별한 인덱스 기법

    5-4-1. 커버링 인덱스

    5-4-2. 부분 인덱스

    5-4-3. CLUSTER

    5-4-4. Bitmap Scan의 효율성

    5-4-5. Function-based index

    5-4-6. BitmapAnd

    5-4-7. Index Skip Scan

     

    CHAPTER 06 정렬과 집계

    6-1. 정렬 부하

    6-1-1. external merge

    6-1-2. work mem quicksort

    6-2. 정렬과 인덱스

    6-2-1. No Sort

    6-2-2. Backward Scan

    6-2-3. LIMIT n

    6-2-4. Sort 제거를 위한 인덱스

    6-2-5. Sort 제거보다 WHERE 절에 집중

    6-2-6. Incremental Sort

    6-2-7. ORDER BY를 빼먹지 말자.

    6-2-8. 정렬을 피할 수 없다.

    6-3. 집계

    6-3-1. GroupAggregate HashAggregate

    6-3-2. GROUP BY 컬럼 최소화

    6-3-3. LIMIT MIN/MAX

    6-3-4. 변형된 컬럼의 MIN/MAX

    6-3-5. LIMIT MIN/MAX를 위한 인덱스

     

    CHAPTER 07 조인의 내부 처리 방식

    7-1. NL 조인 이해하기

    7-1-1. 조인의 내부 처리 방식

    7-1-2. NL 조인

    7-1-3. 드라이빙과 드리븐

    7-1-4. NL 조인의 실행계획

    7-2. 머지 조인 이해하기

    7-2-1. 머지 조인

    7-2-2. 머지 조인의 실행계획

    7-3. 해시 조인 이해하기

    7-3-1. 해시 조인

    7-3-2. 빌드 입력과 프로브 입력

    7-3-3. 해시 조인의 실행계획

    7-4. 조인 힌트

    7-4-1. 조인 알고리즘과 데이터 집합의 역할

    7-4-2. 조인 힌트 사용법

    7-4-3. Leading 힌트

    7-4-4. 여러 테이블의 조인 힌트

     

    CHAPTER 08 조인과 성능

    8-1. NL 조인과 성능

    8-1-1. NL 조인의 비효율

    8-1-2. 드리븐 테이블의 인덱스

    8-1-3. 드리븐 테이블의 필터 조건

    8-1-4. 드라이빙 테이블의 인덱스

    8-1-5. 드라이빙 집합 선택

    8-1-6. 드리븐 테이블의 인덱스 컬럼 순서

    8-1-7. 무조건 작은 집합을 드라이빙 할 것인가?

    8-1-8. 여러 테이블의 NL 조인

    8-1-9. 조인 조건의 Index Cond 확인

    8-1-10. NL 조인의 인덱스 전략

    8-2. 머지 조인과 성능

    8-2-1. 머지 조인의 비효율

    8-2-2. 머지 조인을 위한 인덱스

    8-2-3. 머지 조인의 한계

    8-3. 해시 조인과 성능

    8-3-1. 대용량 조인에 탁월한 해시 조인

    8-3-2. 해시 조인을 위한 인덱스

    8-3-3. 빌드 입력 선택

    8-3-4. 프로브 입력 최적화

    8-3-5. 테이블 원래 크기만으로 조인 방식을 결정하면 안 된다.

    8-3-6. 해시 조인은 동등 조인 조건이 필수

    8-3-7. 조인 컬럼에 인덱스가 없다면 해시 조인

    8-4. 조인과 성능

    8-4-1. 인덱스 힌트만으로 조인 알고리즘 선택하기

    8-4-2. 상황에 따른 인덱스 선택

    8-4-3. 코드명 조회 - 스칼라 서브쿼리 vs. 조인

    8-4-4. 조인 횟수를 줄이자

    8-4-5. 조인을 추가하자

    8-4-6. 조인 튜닝 전략

     

    CHAPTER 09 트랜잭션과 모니터링

    9-1. 트랜잭션

    9-1-1. 트랜잭션

    9-1-2. 오토 커밋과 명시적 트랜잭션

    9-1-3. xid

    9-1-4. LOCK

    9-2. 트랜잭션 테스트와 모니터링

    9-2-1. 테스트 준비

    9-2-2. pg_locks

    9-2-3. 대기(wait) 상태

    9-2-4. pg_stat_activity

    9-2-5. 사라진 500

    9-2-6. SELECT FOR UPDATE

    9-2-7. CREATE INDEX CONCURRENTLY

     

    CHAPTER 10 VACUUM

    10-1. VACUUM을 왜 하는가?

    10-1-1. Dead Tuple

    10-1-2. Freeze

    10-2. VACUUM

    10-2-1. Autovacuum

    10-2-2. 수동 VACUUM

    10-3. VACUUM과 성능

    10-3-1. UPDATE와 용량 변화

    10-3-2. VACUUM과 성능

    10-3-3. 데드 튜플 최소화 전략

    10-3-4. 배치와 데드 튜플

    10-3-5. 매뉴얼 커밋과 베큠

    출판사 서평



    SQL TUNER for PostgreSQL 기본원리편〉은 SQL 성능 문제를빠른 처방이 아니라확실한 이해로 해결하도록 이끄는 책입니다. 단순히 방법을 나열하지 않고, 성능이 흔들리는 지점을 기본부터 정리한 뒤 예제와 실행 결과, 그림을 통해 독자가 직접 확인하며 따라오게 구성했습니다. 인덱스, 실행 계획 해석, 조인 부하, 트랜잭션 대기, VACUUM까지 실무에서 반복되는 핵심 주제를 다루고 있습니다.

    이 원고에서 특히 인상적인 점은 저자의 집필 태도입니다. 저자는그럴듯하지만 틀린 설명을 가장 경계하며, 문장 하나가 오해를 만들지 않는지, 예제가 과장되거나 빈틈이 없는지, 설명의 순서가 독자의 사고 흐름과 맞는지까지 끝까지 점검했습니다. 같은 내용을 여러 번 다시 풀어 쓰고, 표현을 깎고, 예제를 재검증하는 과정이 누적되며, 이 책은알려주는 책이 아니라 검증 가능한 기준을 남기는 책이 되었습니다.

    결과적으로 이 책은 특정 기법을 외우게 하기보다, 성능 문제를 마주했을 때 무엇을 먼저 확인하고, 무엇을 의심하며, 어떤 선택을 피해야 하는지를 스스로 정리할 수 있게 합니다. 제대로 배우고, 오래 써먹을 수 있는 SQL 성능의 기본기를 찾는 독자에게 가장 현실적인 안내서가 될 것입니다.

    저자 소개
    저자 : 유일환
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    이 분야에서 요즘 뜨는 책
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    이 분야의 화제의 신간
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    AI 팀원을 고용한 회사는 다르게 일한다 - 부서별 업무별 챗GPT 실전 도입 가이드 영업 마케팅 인사 경영기획 백오피스 업무 경영자(모두의 AI)이케다 도모히로 | 길벗
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    AI 팀원을 고용한 회사는 다르게 일한다 - 부서별 업무별 챗GPT 실전 도입 가이드 영업 마케팅 인사 경영기획 백오피스 업무 경영자(모두의 AI)이케다 도모히로 | 길벗
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    혼자 공부하는 SQL with AI - AI와 함께 1:1 과외하듯 배우는 데이터베이스 자습서: SQLD 유형문제 수록 해설 강의 제공우재남 | 한빛미디어
    직장인을 위한 AI 에이전트 클로드 코워크 - 앤트로픽 공식 플러그인으로 익히는 32가지 실무 예제케이트리 | 제이펍
    이기적 컴퓨터활용능력 1급 필기+실기 올인원(2027대비)홍태성, 박윤정 | 영진닷컴
    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
    공지사항
    • [이벤트 당첨자 발표] 서울국제정원박람회, 김진명 작가 북토크 당첨자 안내
    • [이벤트 당첨자 발표] 9월 모두의 서가 이벤트 당첨자 안내
    • [공지사항] 스타필드마켓 월계 문구복합매장 그랜드 오픈 🎊 이벤트 안내!
    • [공지사항] 2026년 9월 1일 개인정보 처리방침 개정 안내(3.개인정보 처리, 항목, 보유기간)
    • [이벤트 당첨자 발표] 26년 8월 <이달의 작가> 댓글 이벤트 당첨자 안내
    공지더보기