목차

개요


흔히들 쿼리 퍼포먼스 분석등을 할 때 EXPLAIN 이나 DESCRIBE등을 이용해 실행 계획을 분석하고 쿼리 최적화를 하라는 말을 하고는 한다.

그런데 내 기준에서 이걸 보고 어떻게 해야 할지 가늠을 할 수가 없었다. 대략적으로만 파악을 하고, 실제 나오는 결과를 어떻게 분석하고 어떻게 튜닝해야 할 지 알 수 없었기에 해당 책에서 나온 내용을 토대로 실행 계획 분석 및 각각의 키워드가 무엇을 의미 하는지에 대해 알아보자.

Previous - 데이터 준비


Untitled

테스트를 하기 위한 데이터를 준비해야 한다.

책에서는 직접 MySQL(or MariaDB)를 설치하고, 데이터를 추가해주고 있지만, 컴퓨터에 여러 DBMS를 더 설치하는 것도 꺼려지고, 좀 더 라이트하게 설치를 하고 싶기에 Docker를 이용해서 설정해주도록 한다.

1. Install Docker Desktop

Download Docker Desktop | Docker

만약 Docker가 설치되어 있지 않다면 위 링크를 통해 설치해주도록 하자.

설치가 완료 되었다면, 이제 MySQL(or MariaDB) 이미지를 받아서 마운트 시켜줘야 한다. 다음 명령어를 차례대로 실행 시켜보자.

  1. Pulling Image

    docker pull ${imageName}:${version} 
    (Ex: docker pull mysql:8.0.32)
    

    이미지가 제대로 pulling되었는지는 docker images로 확인해봐도 되고 docker desktop의 GUI를 통해 확인해도 된다.

    docker desktop의 images section

    docker desktop의 images section

  2. Create Container

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name catsbi-mysql -v /Users/catsbi/mysql:/var/lib/mysql mysql:8.0.32 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci