퀵스타트 SQL with 챗GPT - AI 시대, SQL은 이렇게 배워야 한다
“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.”
들어가며
SQL을 처음 배울 때는 SELECT, WHERE, JOIN만 알면 충분하다고 생각했다.
실무에서 쿼리를 작성하고 데이터를 다루는 것까지는 어렵지 않았는데, 문제는 성능이었다.
“이 쿼리 왜 이렇게 느려요?”라는 질문 앞에서 인덱스니 실행 계획이니 하는 말들이 막막하게 느껴졌다.
인덱스와 SQL 튜닝을 체계적으로 배워보고 싶다는 생각이 있었는데, 마침 한빛미디어 “퀵스타트 SQL with 챗GPT”를 만나게 됐다.
이 책의 제목에서 눈에 띈 건 “챗GPT”라는 키워드였다.
단순한 SQL 문법서가 아니라, AI를 활용해 학습하고 튜닝까지 한다고? 호기심이 생겼다.
단순한 SQL 문법서가 아니다
처음 책을 펼쳤을 땐 솔직히 “그냥 SQL 입문서겠지” 싶었다.
1~3부까지는 환경 구축, 챗GPT 활용법, SELECT·JOIN·집계 쿼리 작성까지 — 익숙한 내용이 많았다.
그런데 4부로 넘어가는 순간 분위기가 달라졌다.
실행 계획을 읽는 법, 인덱스가 왜 빠른지, AI에게 튜닝을 맡기는 방법까지.
“이게 입문서에 들어있다고?” 싶을 정도로 내용이 깊어졌다.
솔직히 한 번에 술술 읽히는 챕터는 아니었다.
오라클 아키텍처나 옵티마이저 동작 방식 같은 부분은 처음 접하는 개념이 많아서 몇 번을 다시 읽었다.
“동작하는 쿼리”를 넘어서 “빠른 쿼리“까지 다루는 SQL 입문서는 생각보다 흔하지 않다.
그 점에서 이 책은 다른 SQL 책들과 방향이 좀 달랐다.
파트가 끝날 때마다 복습할 수 있다

이 책에서 또 마음에 들었던 부분은, 각 파트의 마지막 챕터에 “실전 퀴즈테스트” 가 있다는 점이다.
단순히 새로운 개념을 쌓아나가는 것에서 끝나지 않고, 파트 전체에서 배운 핵심 내용을 퀴즈 형태로 한 번 더 정리할 수 있게 해준다.
“내가 이걸 이해하고 넘어간 게 맞나?” 싶은 순간에 딱 확인할 수 있는 장치다.
책을 읽다 보면 이해했다고 느끼면서도 정작 문제 앞에서 막히는 경우가 있는데, 이 테스트 덕분에 개념이 제대로 내 것이 됐는지 스스로 점검하는 시간을 가질 수 있었다.
학습의 흐름을 끊지 않으면서 자연스럽게 복습이 이루어지는 구성이라 좋았다.
인덱스, 드디어 이해했다
인덱스가 왜 빠른지 막연하게는 알았지만, 원리를 설명하라고 하면 항상 말문이 막혔다.
11장을 읽고 나서야 그 구조가 머릿속에 제대로 그려졌다.
책 뒷부분 색인처럼, 인덱스는 전체 테이블을 뒤지지 않고 위치를 먼저 찾아가는 구조다.
이 비유가 워낙 직관적이어서 B-Tree 구조 설명도 자연스럽게 따라왔다.
그리고 몰랐던 사실 하나 — “인덱스가 항상 좋은 건 아니다.”
조회 결과가 전체 테이블의 10~15% 이상이면 Table Full Scan이 오히려 더 빠를 수 있다는 것.
실행 계획에서 Full Scan이 보여도 무조건 잘못된 쿼리가 아니라는 시각은, 실무에서 꽤 중요한 관점이었다.
복합 인덱스에서 칼럼 순서가 성능을 좌우한다는 건 알았지만, 구체적인 기준은 없었다.
이 책에서 소개하는 ESC 원칙 — Equal 조건을 앞에, Sort를 중간에, Covering 칼럼을 뒤에 — 이 기준 하나로 설계 방향이 명확해졌다.
-- ESC 원칙을 적용한 복합 인덱스 예시
CREATE INDEX IDX_ORDERS_COVERING
ON ORDERS(CUSTOMER_ID, ORDER_DATE, AMOUNT);
-- CUSTOMER_ID(E) → ORDER_DATE(S) → AMOUNT(C)
-- 테이블 랜덤 액세스 없이 인덱스만으로 조회 가능
이렇게 설계하면 커버링 인덱스가 되어 테이블에 직접 접근하지 않아도 된다.
이 개념 하나만으로도 책값이 충분했다.
인덱스를 무력화하는 안티패턴
11장에서 또 하나 찔렸던 부분이 있다.
인덱스를 열심히 만들어놔도, 쿼리를 잘못 쓰면 인덱스를 아예 안 타는 경우가 있다는 것.
그중에서 제일 뜨끔했던 건 묵시적 형변환이었다.
VARCHAR 칼럼인데 숫자로 비교하면 “그냥 되겠지” 싶지만, 옵티마이저가 칼럼 전체를 형변환해버려서 인덱스가 무력화된다.
실무에서 아무 생각 없이 쓴 쿼리가 이 패턴이었을 수도 있겠다 싶었다.
LIKE '%이%' 같은 선두 와일드카드도 마찬가지다.
검색 기능 만들 때 자연스럽게 쓰던 패턴인데, 인덱스를 전혀 못 쓴다는 걸 이 책에서 처음 제대로 인식했다.
이런 패턴 목록을 한번 훑고 나니, 내가 짜왔던 쿼리들이 슬쩍 다시 생각났다.
AI에게 튜닝을 요청하는 방법
책을 읽기 전까지는 ChatGPT에게 쿼리를 붙여넣고 “느린데 왜 그래?” 식으로 물어봤다.
당연히 돌아오는 답변은 두루뭉술했다.
12장을 읽고 나서 이유를 알았다.
AI에게도 문맥을 줘야 한다. DB 환경이 뭔지, 현재 인덱스가 어떻게 걸려 있는지, 실행 계획은 어떤지.
이걸 다 넘기고 “병목 구간 찾아줘, 인덱스 추천해줘”라고 요청하면 훨씬 구체적인 답이 나온다.
직접 이 방식으로 써봤더니 확실히 달랐다.
막연하게 “느리다”고 물어볼 때랑 비교하면 응답의 밀도 자체가 다르다.
다만 AI가 추천한 걸 그냥 쓰면 안 된다는 것도 책에서 계속 강조한다.
제안을 여러 개 받아서 직접 비교하고 검증하는 과정은 여전히 내 몫이다.
이런 분께 추천합니다
- SQL 기초는 아는데 “빠른 쿼리”까지는 자신 없는 주니어 개발자
- 실행 계획이나 인덱스를 체계적으로 배우고 싶은 백엔드 개발자
- ChatGPT를 SQL 학습과 튜닝에 실질적으로 활용하고 싶은 분
- 사수 없이 혼자 DB를 다루고 있어서 튜닝 감각을 키우고 싶은 분
반대로, 이미 실행 계획을 능숙하게 읽고 인덱스 설계를 자유자재로 하는 시니어 DBA에게는 다소 기초적일 수 있다.
정리
“퀵스타트 SQL with 챗GPT”는 SQL 문법 입문서를 넘어서, 인덱스와 성능 최적화까지 다루는 AI 시대의 SQL 입문서다.
특히 4부에서 다루는 인덱스 설계 원칙과 안티패턴, AI 튜닝 활용법은 읽고 나서 바로 써먹을 수 있는 내용이었다.
“동작하는 SQL”에서 “빠른 SQL”로 넘어가고 싶다면, 이 책이 꽤 도움이 될 것 같다.
피드백은 언제나 환영합니다.