정보기술(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