Devin.KR

기본 · 전체 목차 공개

SQLP를 위한 SQL·성능 기초

DB 아키텍처·블록 I/O·인덱스·실행계획·조인·옵티마이저·Lock 을 온라인 서점 데이터로 익히고 실행계획 해석 연습 20선으로 점검한다.

이 책을 읽기 전에

SQLD 수준의 SQL

공개 12/12장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    DB 아키텍처 한눈에 - 인스턴스·버퍼 캐시·로그와 I/O 흐름

    서버 프로세스와 메모리 구조, 버퍼 캐시·로그 버퍼·데이터 파일, 커밋 때 일어나는 일, 읽기 한 번이 디스크까지 가는 경로 그림

  2. 02
    SQL 처리 과정 - 파싱·최적화·실행과 바인드 변수

    소프트 파싱과 하드 파싱, 라이브러리 캐시, 바인드 변수를 써야 하는 이유와 바인드 피킹, 리터럴 SQL 이 만드는 문제

  3. 03
    블록 단위 I/O - 논리 읽기와 물리 읽기

    블록·익스텐트·세그먼트, 싱글/멀티 블록 I/O, 논리 읽기(consistent gets) 가 튜닝 지표인 이유, 버퍼 캐시 적중률의 함정

  4. 04
    인덱스 구조 - B*Tree 와 클러스터링 팩터

    루트·브랜치·리프, ROWID, 인덱스 탐색 비용 계산, 클러스터링 팩터가 테이블 액세스 비용에 미치는 영향

  5. 05
    인덱스 스캔 방식 - Range·Unique·Full·Fast Full·Skip Scan

    각 스캔이 선택되는 조건과 실행계획 표기, 인덱스를 못 쓰는 조건(컬럼 가공·형변환·부정 조건·LIKE 앞 %), 비교표

  6. 06
    인덱스 설계 기초 - 결합 인덱스 컬럼 순서 정하기

    등치 조건 먼저·범위 조건 나중, 선두 컬럼과 액세스/필터 조건 구분, 인덱스 개수와 DML 부하의 균형

  7. 07
    실행계획 읽기 - 연산 순서·Rows·Cost 해석

    들여쓰기로 순서 읽기, 예상 Rows 와 실제 Rows 비교(A-Rows), Predicate Information, MySQL EXPLAIN 과의 대응표

  8. 08
    조인 방식 기초 - NL·소트 머지·해시 조인의 동작

    세 방식의 동작 그림, 각각 유리한 상황, 조인 순서가 성능을 가르는 이유, 판단표

  9. 09
    옵티마이저와 통계 - 선택도·카디널리티·히스토그램

    비용 기반 옵티마이저, 통계 정보 항목, 선택도 계산 예, 히스토그램이 필요한 분포, 통계가 틀렸을 때 생기는 일

  10. 10
    트랜잭션과 Lock - 읽기 일관성과 동시성

    MVCC 와 Undo, 격리수준별 현상, 행 Lock 과 대기, 교착 상태 재현과 예방, Oracle 과 MySQL(InnoDB) 차이표

  11. 11
    성능을 생각하는 SQL 작성 습관

    부분범위 처리, 불필요한 정렬·DISTINCT 줄이기, EXISTS 와 IN 선택, 스칼라 서브쿼리 반복 호출 비용, 함수 호출 최소화

  12. 12
    실행계획 해석 연습 - 자체 문제 20선

    실행계획을 보고 순서·조인 방식·병목을 찾는 자체 제작 문제 20개와 해설(기출 원문 사용 금지), 유형별 체크리스트 표

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청