MySQL 쿼리 성능 튜닝 사이드 프로젝트

김현재·2024년 4월 23일

개요

RealMySql 이라는 책을 보면서 이론에 대해서는 적립이 되었는데, 이를 나의 프로젝트에 어떤 식으로 적용해야할 지에 대해서 정말 많이 고민 되었다.

이 과정에서 동시성 이슈에 대해서 생각해볼 수 있었고, 앞선 포스팅에서 비관적 락(배타락)을 활용하는 방식으로 문제를 해결해 보았다.

그러나 쿼리의 실행 계획을 살펴보고 성능을 튜닝하는 경험을 해보고 싶었기 때문에 단순 데드락 상황이 아닌 더 많은 데이터를 기반으로 실험해 보고 싶다는 생각을 하였다.

이러한 상황에서 우연히 같은 목표를 가진 사람들과 스터디를 이룰 수 있었고 함께 다량의 데이터를 만들고 이를 이용해서 쿼리의 성능을 임의의 상황을 가정하고 향상 시키는 방법에 대해서 생각해보았다.

데이터 설명

https://www.erdcloud.com/d/giLcx7tx49ySGcMXa

erd 는 위의 링크를 참고하여서 약간 우리 실습에 맞게끔 커스텀해서 바꿨다.

그런데 생각보다 더미 데이터 만드는 과정이 굉장히 귀찮았다. 그래서 JPA 로 그냥 Entity 만들어서 더미 데이터 만드는 코드를 대충 짜서 테스트 코드를 사용해서 돌렸다.

이 과정에서 정합성을 초반에는 맞춰보려고 했으나... 결국 나중에는 포기하였다. 스터디 시작도 하기 전에 다들 퍼지는 느낌이라 그냥 돌렸다.

마무리

아무튼 앞으로 이 글의 형식은 RealMysql 정리 글 겸 RealMysql 에서 본 내용을 대규모 데이터에서 어떤 식으로 활용가능한지를 확인하는 글이 될 듯하다.

0개의 댓글