IT리뷰

업무에 바로 쓰는 SQL 튜닝

jb213 2021. 7. 25. 23:07

https://brain.hanbit.co.kr/store/books/look.php?p_code=B9354330938

MySql과 MariaDB에 대한 간단한 개요와 함께 바로 튜닝 설명으로 넘어가는 것이 아니라 각종 튜닝의 용어와 과정에 대한 인트로 챕터가 존재한다. 튜닝을 처음 접하는 사람에게 좀 더 쉽게 튜닝에 입문할 수 있도록 하는 안전장치로서 기능해서 좋을 것 같다. 또한 각종 SQL 작업시 의사소통에 필요한 용어들에 대한 기초적인 설명도 들어가 있어 다른 직군이 봐도 인사이트를 얻기 충분한 것 같다. 실제로 튜닝을 공부할 때 중요하게 생각됐던 '드라이빙 테이블', '드리븐 테이블' 에 대한 설명도 들어가 있다. 보통 튜닝시에 인덱스, 조인 등에 대해서 주로 다루는데 조인의 경우 설명하면서 각종 도식과 잘못되면 어떻게 되는지 등에 대한 데이터 구조를 시각적으로 바로 알 수 있어서 좋다. 

튜닝을 처음 공부할 때는 이론의 내용을 실제 맞닥뜨린 적이 있었다 해도 실제로 지식으로 머릿속에 넣는 게 조금 버퍼가 걸릴 때가 있다. 그럴 때 최대한 머릿속에 실제 상황과 유사하게 상황을 상상해보곤 하는데 이 책은 각종 메커니즘과 개념에 대한 도식이 있기 때문에 상상이 어려운 사람들에게도 직관적으로 이해가 가능한 부분이 있다. 

또 반대로 튜닝을 한 번 훑어본 사람은 2장에서 설명하는 튜닝 직관적으로 이해하기 부분을 넘기면서 이해가 부족했던 부분에 대한 심화 이해를 진행할 수도 있고 복습에도 꽤 유용한 것 같다. 도식화를 잘 하는 것도 능력이라고 요즘 생각하기 때문에 각종 그림 자료가 더욱 더 와닿았다 ^^

선택도, 카디널리티 등 튜닝공부할 때 꼭 나오는 계산 수치도 빼놓지 않고 설명해서 좋았다.

또 좋았던 게 콜레이션. 

각종 오픈 DBMS에서 제공하는 튜닝 방식이 다 다른데 콜레이션은 postgreSQL과도 어느 정도 비슷한 내용도 있어서 유용했다. 

그리고 안전장치로서의 2장 챕터에서 설명하는 각종 용어들은 실제로 복잡한 SQL문, 혹은 튜닝이 필요한 SQL문을 수정할 때 실행계획 등을 재설계할 때 필요한 SQL의 특징 및 구조 이해 등에 대해서도 도움이 되는 내용을 담고 있다. 따라서 작업시에 SQL문을 많이 사용한다면 한번쯤 훑어보는것도 좋다.

그리고 기본적으로 Oracle이 아닌 MySql 과 MariaDB에 대한 튜닝이기 때문에 기존 Oracle유저는 염두하는 것이 좋겠다.

3장으로 가면 이제 실행계획을 조회하고 해석하는 법을 배운다. 기존에 Oracle로 실행계획을 봤던 사람들이라면 조금 다른 요소들이 눈에 보일 것이다. 그리고 대부분 튜닝할 때 어느 정도 존재하는 모범답안? 이상적인 실행계획이 존재하기 마련인데 여기서도 그 부분을 빼놓지 않고 설명해주고 있어서 좋았다. 

이후 4장부터는 본격적인 튜닝을 해보기 시작하는데 아주아주 긴 쿼리 튜닝부터 시작하기 보다는 실수할 수 있는, 실제로 실수해본? 간단한 비효율적 쿼리를 효과적으로 튜닝하는 방법에 대해서 차근차근 배울 수 있다. 입문자라면 4장까지만 잘 소화해도 많은 것을 얻어갈 수 있을 것이라고 느꼈다. 

마지막 5장은 조금 더 긴, 그리고 조금 더 복잡한 쿼리로 튜닝을 연습할 수 있다. 여기까지 한번 돈다면 실무에서 웬만한 튜닝상황에 대해서는 잘 해결할 수 있을 거라고 생각한다 .

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."