본문 바로가기
📚 Books

책 '업무에 바로 쓰는 SQL 튜닝` 소개와 정리 📘

by kukim 2022. 5. 15.
 

업무에 바로 쓰는 SQL 튜닝 - YES24

SQL 튜닝의 기본 원리와 사례로 배우는 상황별 튜닝 방법 SQL 튜닝은 수많은 데이터를 더 빠르고 강력하게 처리하도록 해주는 가장 중요한 기술이다. 하지만 쉽지 않은 내용 때문에 부담감을 갖고

www.yes24.com


주제

MySQL 계열에서 쿼리 튜닝을 수행해야 할 때 알아야 하는 용어들과 메커니즘을 소개한다. 실전에서 발생하는 가벼운 쿼리들과 약간은 복잡한 쿼리들을 활용하여 실제 튜닝 수행 과정을 다룬다.

 

대상

- MySQL, MariaDB에서 SQL 튜닝 시작하려는 사람, 튜닝 입문서

- DBMS 종류 상관없이 SQL 기초 지식만 있다면 이해할 수도록 설명

- SQL 문 작성 경험이 적더라도 튜닝의 기초 학습 

 

생각

좋은 SQL 문 작성하는 것은 중요하다. 비즈니스 로직이 모두 포함된 한 방 쿼리를 작성하더라도, ORM에서 쿼리 매핑을 자동 생성하더라도, 데이터 분석을 위해 쿼리를 작성해도, 작성한 쿼리가 좋은지 나쁜지 분별해야 한다. 왜냐하면 성능에 직접적인 영향을 끼치기 때문이다.

책의 장단점은 아래와 같다.

- 책이 얇아 심리적 부담이 적다. (총 296 쪽)

- 내용이 연결되어 있어, 나와 같이 튜닝이 처음인 경우 앞 장부터 순서대로 읽기 좋다.

- 튜닝을 알기 위한 DB의 기본적인 지식을 배울 수 있다. 단, 기본적인 SQL 문은(SQL 기초 문법, 조인, 서브쿼리 등) 작성은 알고 있어야 이해가 쉽다.

- 튜닝의 실제 사례를 살펴보며 튜닝이 이런것이다를 알 수 있다. (예제가 공개되어 있다)

- 기초를 다루다 보니 해당 기술의 자세한 내용이 담겨 있지 않다.

- 좀 더 깊은 내용이 필요할 때 책 'Real MySQL 8.0'을 참고용으로 함께 읽으니 도움이 되었다. (Real MySQL을 처음부터 읽기엔 어려웠는데 이 책을 통해 기초적인 내용을 배울 수 있었다.)

 

구성

1장 : MySQL과 MariaDB 개요

MySQL, MariaDB 특징을 살펴 볼 수 있다. (배경, 시장점유, 상용 DBMS와의 차이점)

 

2장 : SQL 튜닝 용어를 직관적으로 이해하기

SQL 튜닝 전 알아야하는 개념을 배운다.

짧고 굵게 요약되어있다. 기초적인 DB 지식(SQL 기초) 외 MySQL 엔진 아키텍처와 서브쿼리, 조인, 조인 알고리즘, 디스크 접근 방식 등 배울 수 있다. 한 용어에 짧게는 0.5page ~ 2page로 설명한다. 자세한 설명은 다른 책이나 자료를 참고하여 읽게 되었다.

개인 요약 : 2022.05.12 - [🏢 DB] - MySQL Server 아키텍처와 스레딩

 

3장 : SQL 튜닝의 실행 계획 파헤치기

SQL 문의 실행 계획의 결과를 해석할 수 있도록 실행 계획의 컬럼들을 설명한다. 결과 내용이 길 수 있지만 2장, 4장과 연결되어 있어 읽었다. 읽고 난 후 실행 계획 결과에 대한 걱정이 줄었다. 3장 앞에서 20 페이지 가량 MySQL 설치가 포함되어 아쉬웠다.

개인 요약 : 2022.05.14 - [🏢 DB] - MySQL 실행 계획과 결과 컬럼 설명 (MySQL EXPLAIN Output Format)

 

4장 : 악성 SQL 튜닝으로 초보자 탈출하기

SQL 문의 실행 계획을 분석하여 SQL 문을 단순 텍스트 변경을 통해 간단한 튜닝 예제를 살펴본다. (불필요한 함수 변경, 테이블 조인 방식 변경, 인덱스 사용...)

 

5장 : 악성 SQL 튜닝으로 전문가 되기

SQL 문의 실행 계획을 분석하여 쿼리를 아예 재작성하거나 DDL를 사용한 튜닝 예제를 살펴본다. (SQL 재작성, 인덱스 소정, 테이블과 열의 속성 변경한 쿼리 튜닝 등)

 

개인 요약 : 2022.05.19 - [🏢 DB] - 인덱스와 관련된 몇 가지 SQL 튜닝 예제 (결합 인덱스, 인덱스 사용할 때 느린 경우, 인덱스가 없는 경우 등)

 


⛓ Reference

 공식 Github 저장소

https://github.com/7ieon/SQLtune

 

GitHub - 7ieon/SQLtune

Contribute to 7ieon/SQLtune development by creating an account on GitHub.

github.com

오탈자 보기

 

업무에 바로 쓰는 SQL 튜닝

SQL 튜닝의 기본 원리와 사례를 기반으로 상황별 튜닝 방법을 알려주는 도서

www.hanbit.co.kr

댓글