출간 준비 중인 < SQL TUNER for PostgreSQL · 기본원리편 >의 미리보기입니다.
이 책은 각자 컴퓨터에 DBMS를 직접 설치하고 실습할 수 있도록 구성되어 있다. 실습 데이터베이스는 필자의 이전 저서 ‘SQL STARTER’와 같은 구조를 사용한다. ‘SQL STARTER’는 MySQL 기준으로 작성되었지만, 이 책에서는 PostgreSQL 버전으로 진행한다.
실습 데이터는 가상의 커피 프랜차이즈 시스템을 모델링한 것이다. 전체 구조는 이어지는 [그림-1-2-1-a]와 [그림-1-2-1-b]의 ERD를 참고하기 바란다.


SQL 튜닝을 제대로 실습하려면 많은 데이터가 필요하다. 이를 위해 Big 테이블 5개를 추가로 생성한다. Big 테이블은 기본 테이블의 데이터를 30배 이상으로 늘린 대용량 테이블이다. Big 테이블의 구조는 아래 [그림-1-2-1-c]에서 확인할 수 있다.
실습 과정에서는 기본 테이블과 Big 테이블을 번갈아가며 사용한다. 따라서 실습 스크립트를 실행할 때 어떤 테이블을 사용하는지 확인하고 진행하기 바란다.

실습을 위해서는 개인 PC에 Docker(소프트웨어를 컨테이너 단위의 격리된 환경 안에서 실행하도록 해주는 오픈소스 가상화 플랫폼)를 설치하고 그 위에 PostgreSQL을 구성해야 한다. 그리고 DBeaver를 설치해 Docker의 PostgreSQL에 접속하는 방식으로 진행한다. 또한 실습 과정에서 옵티마이저 제어를 위한 힌트 기능이 필수이므로 pg_hint_plan 확장(extension)도 함께 설치해야 한다.
이 책은 PostgreSQL 16.4(Debian 16.4-1.pgdg120+1 on x86_64-pc-linux-gnu)를 기준으로 작성되었다. 추가로 PostgreSQL 17.6에서도 모든 실습 내용이 정상 작동하는 것을 확인했다. 따라서 16.4 이상 버전이면 책의 실습 내용을 모두 따라할 수 있다. 다만 pg_hint_plan 설치의 편의성을 고려하면 책에서 소개하는 16.4 또는 17.6 버전을 권장한다.
실습환경 구성 과정은 다음 6단계로 진행된다.