도서 소개
2010년에 시작해 2012년 12월에 국가공인 민간자격을 획득한 SQLP(SQL 전문가) 자격검정은 개발 현장에서 SQL을 능숙하게 잘 다루는 개발자들이 전문가로 대우받을 수 있도록 인증해 주자는 취지로 만들어졌다. 이 책의 저자는 SQLP 자격검정을 설계할 때부터 전문위원으로 참여했기 때문에 이 자격증에 관한 한 누구보다 정통하다.
공인 수험서인 'SQL 전문가 가이드(초판 및 2020 개정판)'도 직접 집필한 저자는 시험 응시자들이 이론을 넘어 실전 감각과 응용지식을 습득함으로써 SQL 튜닝 기술을 마스터하는 데 도움을 주고자 본서를 집필하였다. SQLP 시험 대비용 교재 형식이지만, 실전 훈련을 위해 오랫동안 준비해 온 <SQL 튜닝 워크숍> 강의 교재를 SQLP 응시자들의 필요와 눈높이에 맞게 문제 형식으로 풀어냈다.
SQLP 자격이 요구하는 핵심 기술인 'SQL 고급 활용 및 튜닝'에 초점을 맞춰 총 470문제를 수록하였다. 단원별 문제는 순서대로 풀면서 해설을 읽는 과정에 자연스럽게 중요한 핵심 내용을 파악할 수 있도록 구성하였다. 실전 모의고사는 전체적인 내용을 복습하면서 실제 출제되는 문제 유형과 난이도 수준을 파악할 수 있도록 구성하였다.
어떤 응용문제에도 대응할 수 있도록 문제를 구성하고 자세히 해설하였으므로 정답을 맞혔다고 바로 다음 문제로 넘어가지 말기 바란다. 해설을 통해 각 문제의 숨은 원리를 정확히 깨닫는 순간, 이 책의 진정한 가치를 느끼게 될 것이다.
해설을 읽고도 정확히 이해하기 어려운 내용이 있다면, 저자가 직접 운영하는 인터넷 카페 <디비안 포럼(DBian.net, sqlp.co.kr)>에 질문하기 바란다.
출판사 리뷰
정보기술(IT)의 중심에 데이터베이스가 있고, 데이터베이스를 다루는 핵심 기술이 SQL이다. SQL이 IT를 주름잡게(?) 된 이유는 쉬운 접근성에 있다. IT 비전공자도 며칠만 공부하면 SQL로 원하는 데이터를 추출해서 수정, 삭제하는 방법을 익힐 수 있다. 쉬운 언어라는 인식이 강하다 보니 SQL 잘한다고 어디서 뽐내기는 쉽지 않다. IT 핵심 기술임에도 불구하고 SQL을 깊이 있게 연구하는 개발자가 적은 이유다.
일반적인 인식과 달리 SQL은 실제로 굉장히 어렵고 투자할 만한 가치가 있는 언어다. IT 시스템을 운영하는 과정에 생기는 많은 문제가 SQL에서 비롯된다. 문제를 해결하려면 SQL 내부 원리를 정확히 이해함으로써 실행 방식을 제어할 줄 알아야 하는데, 그것이 여간 까다롭지 않다. 겉으로 보이는 SQL 문법이 쉬울 뿐, SQL을 처리하는 내부 엔진은 세상에서 가장 어렵고 복잡한 자료구조와 알고리즘을 품고 있다.
그런 SQL에 관한 고도의 기술력을 갖춘 개발자를 전문가로 인정해 주자는 취지로 SQLP 자격증이 개발됐다. 하지만, 여느 자격증처럼 기출 문제가 돌면서 이를 활용한 단기 속성 자격증 취득에만 몰두하는 수험자가 늘고 있다. 전문가가 되려고 도전하는 이들이 실전 경험은 등한시한 채 기출과 단편적인 패턴 학습에만 몰두한다면, SQLP도 다른 자격증처럼 업계가 인정하지 않는 "증"으로 전락하는 건 시간문제다. 저자의 고민은 거기서 시작됐다.
전문가가 되려면 정석 원리를 바탕으로 실질적인 문제 해결 능력을 갖춰야 한다. 같은 SQL도 데이터양과 값 분포, 파티션 및 인덱스 구성, 애플리케이션 환경 등에 따라 성능 개선 방법은 180도 달라진다. 따라서 패턴을 외워서 문제를 해결하려고 해선 안 된다. SQL 튜닝에 자주 활용되는 패턴이 있는 건 사실이지만, 정확한 적용 원리부터 학습해야 한다. 과학적인 분석 방법론을 토대로 한 원인 진단이 선행돼야 하므로 실행계획과 트레이스 분석 원리를 습득하지 못하면 결코 SQL 튜닝의 높은 산을 정복할 수 없다.
SQL 튜닝은 실전 경험이 무엇보다 중요할 수밖에 없는데, 문제는 문턱이 너무 높아 초보자가 기회를 잡기 쉽지 않다는 데 있다. 이에 저자는 튜닝 초보자가 실전 감각을 훈련하는 <SQL 튜닝 워크숍> 강의를 몇 해 전부터 진행해 왔고, 해당 강의 교재를 바탕으로 본서를 집필하기에 이르렀다.
본서는 단순한 시험 문제집이 아니다. 실전 전문가의 경험을 녹여낸 <SQL 튜닝 워크북>이다. 일차적으로 SQLP 응시자를 위해 만들었지만, <친절한 SQL 튜닝>, <오라클 성능 고도화 원리와 해법> 독자가 내용을 정확히 이해했는지 복습하는 목적으로 활용하기를 권한다. SQLP 출제위원들에게도 좋은 지침서가 될 것이다. 아무쪼록 이 책으로 SQL 튜닝을 마스터한 독자들이 수많은 IT 서비스 개발 현장에서 성능 이슈 해결사로 활약해 주기를 기대한다.
내용 문의 ▶ http://www.sqlp.co.kr / http://www.dbian.net
작가 소개
지은이 : 조시형
現) 주식회사 디비안 대표이사前) 이랜드, 인슈넷, 디엠에스랩, 엔코아, 비투엔 前) 국가공인 SQLP, DAP 자격검정 전문위원(~2020년) 대용량 데이터 처리가 필수인 eCRM 솔루션 개발 업무를 담당하면서 DB 전문가의 길로 들어서게 되었다. 2010년에 한국데이터진흥원과 한국DB산업협의회가 공동 주관하는 제1회 우수DB人상을 수상하였고, 2016년 1월에 주식회사 디비안을 설립하였다. 20년 가까이 컨설팅을 수행하면서 터득한 성능관리 방법론을 솔루션화하는 일에 관심이 많고, DB 전문서적을 꾸준히 집필하면서 교육과 후배 양성에도 더 매진하려고 노력한다. 요즘은 인터넷 카페 디비안 포럼(www.dbian.net)을 통한 지식공유 활동에도 열심이다.(저서)비용기반의 오라클 원리 (공역, 2008. 2)오라클 성능 고도화 원리와 해법 I (2009. 5)오라클 성능 고도화 원리와 해법Ⅱ (2010. 1)SQL 전문가 가이드 (3과목, 2010. 9)친절한 SQL 튜닝(2018.6)국가공인 SQLD 핵심노트(공저, 2020.12)국가공인 SQLP 핵심노트 Ⅰ, Ⅱ(2021.9)
목차
서문
구성
SQLP 자격 안내
SQLP 취득 현황
1장 SQL 수행 구조
__ 1절 데이터베이스 아키텍처
__ 2절 SQL 처리과정
__ 3절 데이터베이스 I/O 매커니즘
__ 해설 및 정답
2장 SQL 분석 도구
__ 1절 예상 실행계획
__ 2절 SQL 트레이스
__ 3절 응답 시간 분석
__ 해설 및 정답
3장 인덱스 튜닝
__ 1절 인덱스 기본 원리
__ 2절 테이블 액세스 최소화
__ 3절 인덱스 스캔 효율화
__ 4절 인덱스 설계
__ 해설 및 정답
4장 조인 튜닝
__ 1절 NL 조인
__ 2절 소트 머지 조인
__ 3절 해시 조인
__ 4절 스칼라 서브쿼리
__ 5절 고급 조인 기법
__ 해설 및 정답
5장 SQL 옵티마이저
__ 1절 SQL 옵티마이징 원리
__ 2절 SQL 공유 및 재사용
__ 3절 쿼리 변환
__ 해설 및 정답